python编写程序公式计算s_python pandas库和stats库计算偏度和峰度(附程序)
pandas库
样本方差无偏估计:
\(\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}\)
峰度无偏估计:
stats库
偏度有偏估计:
\(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/bin/python
# -*- coding: UTF-8 -*-
import pandas as pd # pandas是科学计算的库,主要用于数据分析
import numpy as np # 导包
from scipy import stats # scipy是开源数值计算,科学与工程应用的开源库 (scipy.stats)主要用于统计
#偏度与峰度
x=[53, 61, 49, 66, 78, 47] # 列表[1,6]
n = len(x) # n为x中数据个数
######## 使用pandas计算偏度与峰度
s=pd.Series(x)#将列表x转换为pandas中的Series,其实就相当于一维的矩阵
print('***************使用pandas计算的偏度与峰度(无偏)***************')
print('偏度 = ',s.skew(),'峰度:',s.kurt()) # 计算偏度和峰度
print()
######## 使用stats计算偏度与峰度
print('***************使用stats计算的偏度与峰度(有偏)***************')
skew=stats.skew(x)#使用stats计算偏度
kurtosis = stats.kurtosis(x)#使用stats计算峰度
print('偏度 =',skew,'峰度 =',kurtosis)
print()
######## 使用文本中公式计算的偏度与峰度
print('***************使用文本中公式计算的偏度与峰度***************')
R_mean = np.mean(x) # 均值
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_var1**2-3 #峰度使用除以n的方差
print('偏度 =',R_sc,'峰度 =',R_ku)
###### 此部分可用于验证pandas的计算结果 ######
# R_sc = 30**0.5*np.mean((x - R_mean)**3)/(R_var1**3)**.5 /4# 偏度
# R_ku = (n+1)*n/(n-1)/(n-2)/(n-3)*sum((x - R_mean)**4)/(R_var**2)-3*(n-1)*(n-1)/(n-2)/(n-3) # 峰度
# print([R_sc, R_ku])#输出偏度、峰度
###################################################################
######################设置参数计算有偏和无偏#########################
###################################################################
print()
print('###################################################################')
print('######################设置参数计算有偏和无偏#########################')
print('###################################################################')
def skewAndkurt(x,parm):
'''
parm = 2: 使用文本中公式计算的偏度与峰度(有偏)
parm = 1: 使用pandas计算的偏度与峰度(无偏)
parm = 0: 使用stats计算的偏度与峰度(有偏)
'''
if parm == 2:
print('parm = 2 , 使用文本中公式计算的偏度与峰度(有偏):')
R_mean = np.mean(x) # 均值
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_var1**2-3 #峰度使用除以n的方差
print('偏度 =',R_sc,'峰度 =',R_ku)
if parm == 1:
print('parm = 1 , 使用pandas计算的偏度与峰度(无偏):')
s=pd.Series(x) # 使用pandas计算的偏度与峰度(无偏)
print('偏度 = ',s.skew(),'峰度:',s.kurt()) # 计算偏度和峰度
elif parm == 0: # 使用stats计算的偏度与峰度(有偏)
print('parm = 0 , 使用stats计算的偏度与峰度(有偏):')
skew=stats.skew(x) # 使用stats计算偏度
kurtosis = stats.kurtosis(x)#使用stats计算峰度
print('偏度 =',skew,'峰度 =',kurtosis)
parm = 0
skewAndkurt(x,0)
print()
parm = 1
skewAndkurt(x,1)
print()
parm = 2
skewAndkurt(x,2)
python编写程序公式计算s_python pandas库和stats库计算偏度和峰度(附程序)相关推荐
- python中求和公式是什么函数_Python的math库中,用于求和的函数是( )。
[单选题]确定兴利库容 V 兴 ,已知某水库为一回运用水库,其一次蓄水量为 V 1 =300 万 m 3 ,一次供水量为 V 2 =150 万 m 3 . [ ]. [单选题]hAB大于0说明B点的高 ...
- python编写选股公式_python 瀑布线指标编写实例
我就废话不多说了,大家还是直接看代码吧! # -*- coding: utf-8 -*- """ Created on Tue May 23 08:57:02 2017 ...
- python编写选股公式_Python通过通达信选股,用通达信软件,如何向里面输入选股函数...
Q1:用通达信软件,如何向里面输入选股函数 在软件的左上角,点击"功能--专家系统--公式管理--条件选股公式--再点击右边的新建,就可以输入选股函数了. Q2:通达信如何使用选股公式 公式 ...
- python编写股票公式_一个用Python编写的股票数据(沪深)爬虫和选股策略测试框架...
一个户外论坛的特点: 列出一些活动,有翻页功能,点向一个活动显示当前活动信息,在二楼一般显示报名名单! 需要的数据: 就是活动的信息, 报名的名单,价钱,主 一个股票数据(沪深)爬虫和选股策略测试框架 ...
- python编写年金终值函数_年金终值的计算公式推导:F=A(1+i)0+A(1+i)1+A(1+i)2+...+A(1+i)n-2+A(1+i)n-...
共回答了22个问题采纳率:90.9% 1.我估计你是这个意思: F=A(1+i)^0+A(1+i)^1+A(1+i)^2+--+A(1+i)^(n-2)+A(1+i)^(n-1) 是怎样推导出公式:F ...
- 【转】140种Python标准库、第三方库和外部工具
导读:Python数据工具箱涵盖从数据源到数据可视化的完整流程中涉及到的常用库.函数和外部工具.其中既有Python内置函数和标准库,又有第三方库和工具. 这些库可用于文件读写.网络抓取和解析.数据连 ...
- python编写数学公式大全_python - 用python编写数学公式 - 堆栈内存溢出
我正在用python编写此公式. 请查看图片我正在使用以下代码. 它总是会出错. import math import matplotlib matplotlib.use('TkAgg') from ...
- python 编辑数学公式_用python编写数学公式
我正在用python编写此公式. 请查看图片我正在使用以下代码. 它总是会出错. import math import matplotlib matplotlib.use('TkAgg') from ...
- 编写python程序、计算账户余额_小明有20w存款存在余额宝中,按余额宝年收益为3.35%计算,用Python编写程序计算,多少年后小明的存款达到30w?...
[判断题]卤素灯泡是在灯泡内充入氟.氯等卤素气体. [单选题]我国刑法第12条关于溯及力的规定采取的是( ). [填空题]本地局域网 LAN 内, () 和无绳电话速率较低,主流带宽是 100kbps ...
最新文章
- 过年期间:这个 GitHub 项目你必能用到
- 中科大刘和刚老师的计算机图形学资料 for students
- 1.void main
- 消息中间件选型分析——从Kafka与RabbitMQ的对比来看全局
- 软考高级论文如何“吹”
- Python+OpenGL使用鼠标选择模型不同组成部分
- 设计模式 - (3)抽象工厂模式(创建型)
- 工作流任务的消息处理
- 同步发电机励磁调节实验原理_发电机组自动控制系统工作原理
- C语言实现简单的电子通讯录
- 向《天真的女孩投降》观后感
- Scala学习笔记2 (Lang上篇)
- Webpack 5: The ‘compilation‘ argument must be an instance of Compilation
- 使用Springboot+MAVEN完成SSM项目的搭建(idea)--小白面试机试题
- APP爬虫- 手机安装证书-解决SSL证书的移动端数据包问题
- MATLAB算法实战应用案例精讲-【人工智能】枝晶生长模型(附matlab代码实现)
- python深度学习代码列子
- DEFI-区块链应用场景最成功的方向之一
- 区块链P2P网络协议演进过程
- 位运算以及位运算的应用