python计算偏度,统计学偏度和峰度怎么算
熊猫图书馆
样本方差的无偏估计;
\(\frac{1}{n-1}\sum_{i=1}^{n}\left(x_i-\bar{x}\right)^2\)
程度无偏估计:
\(g_1=\frac{k_3}{k_2^{\frac{3}{2}}}=\frac{n^2}{\left(n-1\right)\left(n-2\right)}\frac{m_3}{s^3}=\frac{n^2}{\left(n-1\right)\left(n-2\right)}\frac{\ frac{1}{n}\sum_{i=1}^{n}{(x_i-\overline{x})^3}}{{\sqrt{\frac{1}{n-1}\sum_{i=1}^{n}{(x_i-\overline{x})^2}}}^3}=\frac{\sqrt{n\left(n-1\right)}}{\ left(n-2\right)}\frac{\frac{1}{n}\sum_{i=1}^{n}{(x_i-\overline{x})^3}}{{\sqrt{\frac{1}{n}\sum_{i=1}^{n}{(x_i-\overline{x})^2}}}^3}\)
无偏峰度估计;
统计库
程度偏差估计:
\(b_1=\frac{m_3}{s^3}=\frac{\frac{1}{n}\sum_{i=1}^{n}{(x_i-\overline{x})^3}}{{\sqrt{\frac{1}{n}\sum_{i=1}^{n}{(x_i-\overline{x})^2}}}^3}\)
有偏峰度估计;
\(g_2=\frac{m_4}{m_2^2}-3=\frac{\frac{1}{n}\sum_{i-1}^{n}{(x_i-\overline{x})^4}}{(\frac{1}{n}\sum_{i=1}^{n}{(x_i-\overline{x})^2})^2}-3\)
原始定义
歪斜
\(b_1=\frac{m_3}{s^3}=\frac{\frac{1}{n}\sum_{i=1}^{n}{(x_i-\overline{x})^3}}{{\sqrt{\frac{1}{n-1}\sum_{i=1}^{n}{(x_i-\overline{x})^2}}}^3}\)
峭度
\(g_2=\frac{m_4}{m_2^2}-3=\frac{\frac{1}{n}\sum_{i-1}^{n}{(x_i-\overline{x})^4}}{(\frac{1}{n}\sum_{i=1}^{n}{(x_i-\overline{x})^2})^2}-3\)
#!/usr/弱抽屉/python
# -*-编码:UTF-8 -*-
Import pandas as pd # pandas是一个科学计算的库,主要用于数据分析。
将numpy作为np #指南包导入
来自scipy导入stats # scipy是一个开源的数值计算,科学与工程应用开源库(scipy.stats)主要用于统计。
#偏斜度和峰度
X=[53,61,49,66,78,47] # list [1,6]
N=len(x) # n是x中数据的个数。
# # # # # #用熊猫来计算偏斜度和峰度
S=pd。Series(x)#在熊猫中把list X转换成Series,其实相当于一个一维矩阵。
打印( * * * * * * * * * * * *偏度和峰度(无偏)由熊猫* * * * * * * * * * * * )
Print (skewness=,s.skew(),峰度:,s .时髦鸡())#计算偏度和峰度
打印()
# # # # # # #使用统计数据计算偏斜度和峰度
打印( * * * * * * * * * * * * * *由stats计算的偏斜度和峰度(有偏)
Skew=stats.skew(x)#使用stats计算偏斜度
时尚鸡osis=统计。时尚鸡osis(x)#使用统计数据计算峰度
打印(偏斜度=,偏斜度,峰度=,时髦的鸡病)
打印()
# # # # # # #使用文中的公式计算偏度和峰度
打印( * * * * * * * * * * * * * * * *偏度和峰度使用文本* * * * * * * * * * * * * * * * 中的公式计算)
R_mean=np.mean(x) # mean
R_var=np.var(x,ddof=1) #方差(除以n-1)
R_var1=np.var(x) #方差(除以n)
r _ sc=NP . mean((x-r _ mean)* * 3)/(r _ var * * 3)* * . 5 #偏度使用方差除以n-1。
r _ ku=NP . mean((x-r _ mean)* * 4)/r _ var 1 * * 2-3 #峰度用方差除以n。
Print (skewness=,R_sc, kurtosis=,R_ku)
# # # # # #该部分可用于验证熊猫# # # # #的计算结果
# r _ sc=30 * * 0.5 * NP . mean((x-r _ mean)* * 3)/(r _ var 1 * * 3)* * . 5/4 #偏斜度
# r _ ku=(n1)* n/(n-1)/(n-2)/(n-3)* sum((x-r _ mean)* 4)/(r _ var * * 2)-3 *(n-1)*(n
# print([R_sc,R_ku])#输出偏斜度和峰度
###################################################################
# # # # # # # # # # # # # # # # # # #将参数计算设置为有偏和无偏# # # # # # # # # # #
###################################################################
打印()
打印( # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #)
打印( ###################### # # # #)。
打印( # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # # #)
Def skewAnd时尚鸡(x,parm):
Parm=2:使用文中公式计算的偏度和峰度(有偏)。
Parm=1:熊猫计算的偏度和峰度(无偏)
Parm=0:使用stats计算的偏度和峰度(有偏差)
如果parm==2:
Print(parm=2,偏斜度和峰度(有偏)使用文本中的公式计算:)
R_mean=np.mean(x) # mean
R_var=np.var(x,ddof=1) #方差(除以n-1)
R_var1=np.var(x) #方差(除以n)
r _ sc=NP . mean((x-r _ mean)* * 3)/(r _ var * * 3)* * . 5 #偏度使用方差除以n-1。
r _ ku=NP . mean((x-r _ mean)* * 4)/r _ var 1 * * 2-3 #峰度用方差除以n。
Print (skewness=,R_sc, kurtosis=,R_ku)
如果parm==1:
Print(parm=1,偏度和峰度(无偏)使用pandas计算:)
S=pd。系列(x) #由熊猫计算的偏度和峰度(无偏)
Print (skewness=,s.skew(),峰度:,s .时髦鸡())#计算偏度和峰度
Eliparm==0: #使用stats计算的偏度和峰度(有偏)
Print(parm=0,使用stats计算的偏斜度和峰度(有偏):)
Skew=stats.skew(x) #使用stats计算偏斜度
时尚鸡osis=统计。时尚鸡osis(x)#使用统计数据计算峰度
打印(偏斜度=,偏斜度,峰度=,时髦的鸡病)
参数=0
时尚烤鸡(x,0)
打印()
参数=1
时尚烤鸡(x,1)
打印()
参数=2
时尚烤鸡(x,2)
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。