Python 从包含概率的点生成概率分布或平滑图
我有一些点,包括y轴上的概率和x轴上的值,比如:Python 从包含概率的点生成概率分布或平滑图,python,matplotlib,statistics,probability,probability-distribution,Python,Matplotlib,Statistics,Probability,Probability Distribution,我有一些点,包括y轴上的概率和x轴上的值,比如: p1 = [[0.0, 0.0001430560406790707], [10.0, 6.2797052001508247e-13], [15.0, 4.8114669550502021e-06], [20.0, 0.0007443231772534647], [25.0, 0.00061070912573869406], [30.0, 0.48116582167944905], [35.0, 0.24698643991977953], [40.
p1 =
[[0.0, 0.0001430560406790707],
[10.0, 6.2797052001508247e-13],
[15.0, 4.8114669550502021e-06],
[20.0, 0.0007443231772534647],
[25.0, 0.00061070912573869406],
[30.0, 0.48116582167944905],
[35.0, 0.24698643991977953],
[40.0, 0.016407283121225951],
[45.0, 0.2557158314329116],
[50.0, 1.1252231121357235e-05],
[55.0, 0.064666668633158647],
[60.0, 1.7631447655837744e-17],
[65.0, 1.1294722466816786e-14],
[70.0, 2.9419020411134367e-16],
[75.0, 3.0887653014525822e-17],
[80.0, 4.4973693062706866e-17],
[85.0, 9.0975358174005147e-15],
[90.0, 1.0758266454985257e-10],
[95.0, 7.2923752473657924e-08],
[100.0, 1.8065366882584036e-08]]
p2 =
[[0.0, 4.1652247577331996e-06],
[10.0, 1.2212829713673957e-06],
[15.0, 6.5906857192417344e-08],
[20.0, 0.00016745946587138236],
[25.0, 0.0054431111796765554],
[30.0, 0.0067575214586160616],
[35.0, 0.00011856110316632124],
[40.0, 0.00032181662132509944],
[45.0, 0.001397981055516994],
[50.0, 0.0027058954834684062],
[55.0, 2.553142406703067e-06],
[60.0, 1.1514033594755017e-08],
[65.0, 0.21961568282994792],
[70.0, 2.4658349829099807e-08],
[75.0, 0.0022850986575076743],
[80.0, 3.5603047823624507e-06],
[85.0, 0.99406392082894734],
[90.0, 0.24399923235645221],
[95.0, 0.0013470125217945798],
[100.0, 0.042582366972883985]]
现在我想从点生成一个概率分布,其中x轴值为0,10,15,20,…,100,y轴值包含概率0.00014
使用plt.plot函数时,我得到:
plt.plot([item[0] for item in p1],[item[1] for item in p1])
对于p2:
plt.plot([item[0] for item in p2],[item[1] for item in p2])
我想得到一个更平滑的可视化,比如概率分布:
如果概率分布不可能,则平滑样条线:
Scipy’s通常用于平滑地近似概率分布。它为每个输入点求和一个高斯核。通常将单个测量值用作输入,但“权重”参数允许处理装箱数据。函数被归一化,使其积分等于1
该方法假设p1和p2的值是每个x值周围线段的平均值,类似于直方图。即,一个阶跃函数,其中x值标识每个阶跃的结束
从matplotlib导入pyplot作为plt
将numpy作为np导入
从scipy.stats导入高斯_kde
p1=np.数组[[0.0,0.0001430560406790707],
[10.0,6.2797050001508247E-13],
[15.0,4.81146695050021E-06],
[20.0, 0.0007443231772534647],
[25.0, 0.00061070912573869406],
[30.0, 0.48116582167944905],
[35.0, 0.24698643991977953],
[40.0, 0.016407283121225951],
[45.0, 0.2557158314329116],
[50.0,1.1252231121357235e-05],
[55.0, 0.064666668633158647],
[60.0,1.7631447655837744e-17],
[65.0,1.1294722466816786e-14],
[70.0,2.9419020411134367e-16],
[75.0,3.0887653014525822e-17],
[80.0,4.4973693062706866e-17],
[85.0,9.0975358174005147e-15],
[90.0,1.0758266454985257e-10],
[95.0,7.29237524736579244E-08],
[100.0,1.8065366882584036e-08]
p2=np.数组[[0.0,4.1652247577331996e-06],
[10.0,1.2212829713673957e-06],
[15.0,6.5906857192417344e-08],
[20.0, 0.00016745946587138236],
[25.0, 0.0054431111796765554],
[30.0, 0.0067575214586160616],
[35.0, 0.00011856110316632124],
[40.0, 0.00032181662132509944],
[45.0, 0.001397981055516994],
[50.0, 0.0027058954834684062],
[55.0,2.553142406703067e-06],
[60.0,1.1514033594755017e-08],
[65.0, 0.21961568282994792],
[70.0,2.4658349829099807e-08],
[75.0, 0.0022850986575076743],
[80.0,3.5603047823624507e-06],
[85.0, 0.99406392082894734],
[90.0, 0.24399923235645221],
[95.0, 0.0013470125217945798],
[100.0, 0.042582366972883985]]
x=np.linspace010000
图,轴=plt。子批次NCOLS=2
对于zipax中的ax,p,[p1,p2]:
p[0,0]=5.0设每个x值为一段的终点
ax.stepp[:,0],p[:,1],color='dodgerblue',lw=1,ls=':',其中='pre'
ax2=ax.twinx
kde=gaussian_kdep[:,0]-2.5,bw_方法=0.25,权重=p[:,1]
ax2.plotx,kdex,颜色为深红色
节目
Scipy’s通常用于平滑地近似概率分布。它为每个输入点求和一个高斯核。通常将单个测量值用作输入,但“权重”参数允许处理装箱数据。函数被归一化,使其积分等于1
该方法假设p1和p2的值是每个x值周围线段的平均值,类似于直方图。即,一个阶跃函数,其中x值标识每个阶跃的结束
从matplotlib导入pyplot作为plt
将numpy作为np导入
从scipy.stats导入高斯_kde
p1=np.数组[[0.0,0.0001430560406790707],
[10.0,6.2797050001508247E-13],
[15.0,4.81146695050021E-06],
[20.0, 0.0007443231772534647],
[25.0, 0.00061070912573869406],
[30.0, 0.48116582167944905],
[35.0, 0.24698643991977953],
[40.0, 0.016407283121225951],
[45.0, 0.2557158314329116],
[50.0,1.1252231121357235e-05],
[55.0, 0.064666668633158647],
[60.0,1.7631447655837744e-17],
[65.0,1.1294722466816786e-14],
[70.0,2.9419020411134367e-16],
[75.0,3.0887653014525822e-17],
[80.0,4.4973693062706866e-17],
[85.0,9.0975358174005147e-15],
[90.0,1.0758266454985257e-10],
[95.0,7.29237524736579244E-08],
[100.0,1.8065366882584036e-08]
p2=np.数组[[0.0,4.1652247577331996e-06],
[10.0, 1.221282
9713673957e-06],
[15.0,6.5906857192417344e-08],
[20.0, 0.00016745946587138236],
[25.0, 0.0054431111796765554],
[30.0, 0.0067575214586160616],
[35.0, 0.00011856110316632124],
[40.0, 0.00032181662132509944],
[45.0, 0.001397981055516994],
[50.0, 0.0027058954834684062],
[55.0,2.553142406703067e-06],
[60.0,1.1514033594755017e-08],
[65.0, 0.21961568282994792],
[70.0,2.4658349829099807e-08],
[75.0, 0.0022850986575076743],
[80.0,3.5603047823624507e-06],
[85.0, 0.99406392082894734],
[90.0, 0.24399923235645221],
[95.0, 0.0013470125217945798],
[100.0, 0.042582366972883985]]
x=np.linspace010000
图,轴=plt。子批次NCOLS=2
对于zipax中的ax,p,[p1,p2]:
p[0,0]=5.0设每个x值为一段的终点
ax.stepp[:,0],p[:,1],color='dodgerblue',lw=1,ls=':',其中='pre'
ax2=ax.twinx
kde=gaussian_kdep[:,0]-2.5,bw_方法=0.25,权重=p[:,1]
ax2.plotx,kdex,颜色为深红色
节目