scipy.stats 庫的使用,np求均值和方差

weixin_42053726發表於2019-01-01

 

關於正太分佈的



import scipy.stats as st
'''
正太分佈函式norm() 
'''
st.norm() #預設引數是0 :均值,1:方差
st.norm(3,1) #均值為3,方差為1


#求某個數概率密度pdf  probability density function(pdf)下面求標準正太分佈的概率密度
norm(0,1).pdf(x) # 也可以這麼寫  st.norm.pdf(x,0,1)

#給出來一個正太分佈,累積到某一個數值的概率,cumulation density function(cdf)
st.norm.cdf(0)  # 標準正太分佈從-∞到0的累加概率密度,為0.5
st.norm(3,1).cdf(5)   #均值3,方差1的分佈 從 負無窮 到5 的概率
st.norm.cdf(3,3,1)  和上一行一樣的功能,不能的寫法

#(3) 均值為 3, 標準差為 1, 累計概率為 0.5 的反函式值  是前面cdf的反函式
st.norm.ppf(0.5,3,1)

#
x = np.linspace(norm.ppf(0.01, loc, scale), norm.ppf(0.99, loc, scale), 100)

 

給出資料求正太分佈的函式密度

sig = math.sqrt(0.2) 
x = np.linspace(u - 3 * sig, u + 3 * sig, 50)
y_sig = np.exp(-(x - u) ** 2 / (2 * sig ** 2)) / (math.sqrt(2 * math.pi) * sig)

plt.plot(x, y_sig, "r-", linewidth=2)
plt.grid(True)
plt.show()

給出一組資料求資料的均值和方差標準差


import numpy as np 
arr = [1,2,3,4,5,6]
#求均值
arr_mean = np.mean(arr)
#求方差
arr_var = np.var(arr)
#求標準差
arr_std = np.std(arr,ddof=1)
print("平均值為:%f" % arr_mean)
print("方差為:%f" % arr_var)
print("標準差為:%f" % arr_std)

 

相關文章