python的统计函数库scipy.stats是一个很棒的统计包

news2024/10/7 18:22:16

描述:在Scipy的模块中,有一个统计的木块——States,其中函数有描述统计(describe)、峰度(kurtosis)、偏度(skew)、众数(mode)、n阶矩。

分布:还有一些分布函数,正泰分布(norm)、对数正态分布(lognorm)、……

计算:针对这些分布函数,有一些通用的的函数,生成符合分布的随机数(rvs)、概率密度函数(pdf)、累计分布函数(cdf)、残存函数(sf ,也就是1-cdf)、分位点函数(ppf,也就是cdf的反函数)、残存函数的逆函数(isf)、用最大似然估计法得出最适合的概率密度函数(fit)。

检验:正态性检验函数有四种:KS检验、AD检验、SW检验、是否服从正态分布检验。

模型:统计模型(StatsModels)中,主要的线性回归模型和对应函数有:普通最小二乘法(OLS)、广义最小二乘法(GLS)、加权最小二乘法(WLS)、带有自相关误差模型的广义最小二乘法(GLASAR)、广义线性模型(GLM)、使用M个估计量的鲁棒线性模型(RLM)、混合效应模型(mixed)、广义加性模型(gam)。

python的统计函数库scipy.stats是一个很棒的统计包,其中常用的功能能够满足包括各种概率分布的cdf、pdf、ppf计算,t检验,f检验,pearsonr相关系数及p值、峰度偏度、MSE等所有本科阶段计量经济学与统计的所有需求。

一、参数估计

1.方差σ已知时μ的置信区间

例,某大学男生体重W服从正态分布N(μ,1.2)。现抽取10名学生,测得体重如下(单位:斤),122,130,139,168,125,160,155,189,107,164,试求平均体重为95%的置信区间。

程序代码为

import scipy.stats as stats
import numpy as np

p = 0.025
weight = [122,130,139,168,125,160,155,189,107,164]
low = np.mean(weight) - stats.norm.ppf(q=1-p)*(np.sqrt(1.2)/np.sqrt(len(weight)))
up = np.mean(weight) + stats.norm.ppf(q=1-p)*(np.sqrt(1.2)/np.sqrt(len(weight)))
#(low,up)即为其置信区间

stats.norm.ppf()即可以求得在某一置信水平下的标准正态分布函数。

其主要用法为(参数loc默认为零,scale默认为1,不用管它们,下从stats.norm.pdf略)

stats.norm.rvs(loc=0,scale=1,size=n),生成n个服从正态分布的随机数

stats.norm.pdf(x),计算概率密度函数

stats.norm.cdf(x),计算累计密度函数

stats.norm.ppf(q),计算z值

stats.norm.var()/stats.norm.std()/stats.norm.mean()/stats.norm.median(),计算分布的方差/标准差/均值/中位数

2.方差未知时μ的置信区间

同理,可以使用stats.t.ppf(p,n)来计算自由度为n,概率为p的t分布的t值

stats.t的用法与stats.norm大致相同

3. μ 未知时 σ2 的置信区间

from scipy.stats import chi2

通过chi2.ppf(p,n)计算概率为p,自由度为n的卡方值

4. ,σ12,σ22 已知,求 μ1−μ2 在 1−α 置信水平下的置信区间

5. σ12=σ22=σ 时 μ1−μ2 在 1−α 置信水平下的置信区间

4、5均与上述方法相同

6. ,μ1,μ2 未知时 σ12σ22 在 1−α 置信水平下的置信区间

from scipy.stats import f

通过f.ppf(p,n1,n2)计算概率为p,自由度为(n1,n2)的F值

二、参数假设检验

1.单个样本t检验

from scipy import stats 

stats.ttest_1samp(a,popmean,axis=0)

scipy.stats.ttest_1samp(a,popmean,axis=0)

计算一组数据的平均值的t检验。这是对零假设的双边检验,零假设是独立观察样本a的期望值(均值)等于给定的总体均值。a是观测样本,popmean=零假设的期望值。

2.两个独立样本t检验

from scipy import stats 

stats.ttest_ind(a,b)

scipy.stats.ttest_ind(a,b,axis=0,equal_var=True)

计算两个独立的数据样本的均值的t检验。这是对两个独立样本具有相同平均值(期望值)的零假设的双边检验。这个检验假设总体有相同的方差。a,b为两组样本数据。

3.配对样本t检验

from scipy import stats 

t,p = stats.ttest_rel(a,b)
#t为t值,p为p-value

scipy.stats.ttest_rel(a,b,axis=0)

计算两个相关的分数样本a和b的t检验。

这是对两个相关或重复样本具有相同平均(期望)值的原假设的双边检验

4.单样本方差假设检验

单样本方差检验的程序编写很简单,略

至此为止,scipy库的主要应用就结束了,后面会偶尔还用到scipy库。接下来,将主要通过statsmodel库进行计量的学习。

5.双样本方差假设检验

双样本方差的假设检验用来判断两个样本的波动情况是否相同。anova_lm()函数常用来进行两样本的F检验(双样本方差假设检验)。

import statsmodels.formula.api as smf  #首先导入statsmodel库
import statsmodel.formula.api import ols  #statsmodel库可以进行回归
import statsmodel.stats.anova import anova_lm  #方差分析

formula = 'Y~x'
model = ols(formula,data).fit() #data是Dataframe数据集
results = anova_lm(model)  #方差分析,计算F和p-value
print(results)

python计量经济学分析-学习笔记 - 知乎

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/574500.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Go语言介绍以及Go语言环境安装

初步介绍: Go 是一个开源的编程语言,它能让构造简单、可靠且高效的软件变得容易。 Go是从2007年末由Robert Griesemer, Rob Pike, Ken Thompson主持开发,后来还加入了Ian Lance Taylor, Russ Cox等人,并最终于2009年11月开源&am…

Manjaro linux 安装svn 并在文件管理器里显示相关图标

需要先安装svn linux版打开终端执行 1 sudo pacman -S svn 安装完成后执行一下 1 svn --version 出现这个就说明svn已经安装完成了,这个时候我们可以执行 1 svn checkout [路径] 就可以检出svn服务器上相关内容了 但是这个有的时候我们打开文件管理器想要看到被…

并发编程的三大特性之原子性

原子性 这个定义是一种规定,描述了Java中的理想就是为了能实现一个操作不能分割,不可中断,一个线程在执行的时候,另一个线程不会去影响他。 Java中的原子性可以理解为多线程操作临界资源,预期的结果和最终的结果一致。…

STM32基本外设超详细44000字教程

GPIO GPIO(General Purpose Input Output)通用输入输出口可配置为8种输入输出模式引脚电平:0V~3.3V,部分引脚可容忍5V输出模式下可控制端口输出高低电平,用以驱动LED、控制蜂鸣器、模拟通信协议输出时序等输入模式下可…

ML | 5 Logistic回归

ML | 5 Logistic回归 文章目录 ML | 5 Logistic回归Logistic回归思想基于Logistic回归和Sigmoid函数分类基于最优化方法的最佳回归系数确定梯度上升法**梯度上升法例子:**梯度下降法 训练算法:使用梯度上升找到最佳参数画出决策边界 训练算法&#xff1a…

本地是如何开启Nginx服务的?

一、window 配置Nginx服务器 1、Nginx下载地址 http://nginx.org/en/download.html 选择一个适合自己的版本 2、下载后直接解压 3、修改Nginx启动端口 配置文件位置:nginx-1.22.0/conf/nginx.conf 默认80,以防端口被重用,改为8056 4&…

PFEA112-20 3BSE050091R20 张力控制器

您的张力测量系统包括: 张力电子PFEA111或PFEA112–PFEA111是一款经济高效的紧凑型用户友好型张力电子产品,提供 来自两个称重传感器的精确可靠的快速模拟SUM信号,用于控制 和/或监测。显示器可以显示SUM、单个A&B和差异信号小尺寸和DIN导…

k8s 维护node与驱逐pod

1.维护node节点 设置节点状态为不可调度状态,执行以下命令后,节点状态会多出一个SchedulingDisabled的状态,即新建的pod不会往该节点上调度,本身存在node中的pod保持正常运行 kubectl cordon k8s-node01 kubectl get node 2.驱…

多线程并发环境生产者-消费者,kotlin

多线程并发环境生产者-消费者&#xff0c;kotlin 多个生产者-多个消费者&#xff0c;消费者竞争抢占生产者制造的资源。 //存放资源的仓储 val store arrayOfNulls<Int>(1)//资源 var RESOURCE: Int 0fun producer(tid: Long) {synchronized(store) {if (isFull()) {…

【MySQL】- 02MySQL explain执行

目录 1.使用explain语句去查看分析结果2.MYSQL中的组合索引3.使用慢查询分析&#xff08;实用&#xff09;4.MYISAM和INNODB的锁定explain用法详解关于MySQL执行计划的局限性&#xff1a;备注&#xff1a; 1.使用explain语句去查看分析结果 如explain select * from test1 whe…

MicroPython应用基础-准备MicroPython开发板

MicroPython应用基础-准备基于MM32F5的MicroPython开发板 文章目录 MicroPython应用基础-准备基于MM32F5的MicroPython开发板引言硬件软件搭建MicroPython编译环境获取MicroPython源码编译MicroPython源码生成固件下载MicroPython固件到电路板 运行第一个样例工程 引言 本文主…

JavaScript变量、数据类型、运算符

1. 变量 <!DOCTYPE html> <html lang"en"> <head><meta charset"UTF-8"><meta http-equiv"X-UA-Compatible" content"IEedge"><meta name"viewport" content"widthdevice-width, in…

GoWeb -- gin框架的入门和使用

认识gin go流行的web框架 go从诞生之初就带有浓重的开源属性&#xff0c;其原生库已经很强大&#xff0c;即使不依赖框架&#xff0c;也能进行高性能开发&#xff0c;又因为其语言并没有一定的设计标准&#xff0c;所以较为灵活&#xff0c;也就诞生了众多的框架&#xff0c;各…

使用朴素贝叶斯过滤垃圾邮件

使用朴素贝叶斯过滤垃圾邮件 文章目录 使用朴素贝叶斯过滤垃圾邮件流程准备数据构建训练集和测试集分类电子邮件 完整测试代码&#xff1a;欢迎关注公众号【三戒纪元】 朴素贝叶斯的最著名的应用&#xff1a;过滤电子邮件垃圾。 流程 收集数据&#xff1a;提供文本文件准备数据…

【ISO14229_UDS刷写】-3-$36诊断服务TransferData理论部分

总目录&#xff1a;&#xff08;单击下方链接皆可跳转至专栏总目录&#xff09; 《UDS/OBD诊断需求编辑工具》总目录https://blog.csdn.net/qfmzhu/article/details/123697014 目录 1 $0x36 TransferData诊断服务描述 2 0x36服务请求消息 2.1 0x36服务请求消息定义 2.2 0…

【C++系列P1】带上这篇基础小宝典,向特性奇多的C++进发吧!勇士们!(持续更新ing~)

前言 大家好吖&#xff0c;欢迎来到 YY 滴 C系列 &#xff0c;热烈欢迎&#xff01;(持续更新ing~&#xff09;本章主要内容面向刚刚学完C语言&#xff0c;准备或正在接触C的老铁。而往往C奇多的小特性和知识点让铁铁们头晕晕脑涨涨&#xff0c;因而本章收纳了许多C中零散的知识…

跨境电商系统源码分享,解决你的电商难题

作为跨境电商领域的专家&#xff0c;我在这里为你分享跨境电商系统源码&#xff0c;帮助你解决各种电商难题&#xff01;本文将为你提供全面而专业的指导&#xff0c;让你的电商之路更加顺畅。 为什么选择跨境电商系统源码&#xff1f; 跨境电商系统源码是现代电商业务管理的…

MongoDB超全语法大全

MongoDB 安装教程 一、介绍 mongodb数据库是非关系数据库&#xff0c;mongodb中没有表的概念&#xff0c;数据都是存储在集合中 易扩展&#xff1a; NoSQL数据库种类繁多&#xff0c; 但是⼀个共同的特点都是去掉关系数据库的关系型特性。 数据之间⽆关系&#xff0c; 这样就…

如何运行Node.js脚本及读取环境变量

目录 1、如何从CLI 运行Node.js 脚本 2、将字符串作为参数传递到节点&#xff0c;而不是文件路径 3、自动重新启动应用程序 4、如何从Node.js中读取环境变量 1、如何从CLI 运行Node.js 脚本 运行Node.js程序的通常方法是运行全局可用的Node命令&#xff08;一旦安装Node.js…

[论文分享] When deep learning met code search

When deep learning met code search [ESEC/FSE 2019] Jos Cambronero MIT CSAIL U.S.A. Hongyu Li Facebook, Inc. U.S.A. SeohyunKim Facebook,Inc. U.S.A. KoushikSen EECSDepartment,UCBerkeley U.S.A. SatishChandra Facebook,Inc. U.S.A. 最近有多个关于使用深度神经网…