栏目分类:
子分类:
返回
终身学习网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
终身学习网 > IT > 软件开发 > 后端开发 > Python

(五)统计分析基本算法

Python 更新时间:发布时间: 百科书网 趣学号

统计分析
  • 1 参数估计
  • 2 假设检验与单样本T检验
  • 3 两样本T检验
  • 3 方差分析
  • 4 相关分析

1 参数估计

给定一个变量X改变,另一个变量Y均值改变说明两个变量有关,则这两个变量不独立。X可预测Y,y=f(x)。
分析过程:建立两个变量的描述性统计,观察一个变量改变另一个变量均值是否改变(是否独立)。若不独立,则说名一个变量对另一个变量有预测作用。

  • 检验两变量是否有关的四个检验:

统计学中检验两个变量是否有关,都是通过检验同组两个变量均值的差值是否等于0.如果与0无差异,说明两个变量无关,如果与0有差异,说明两个变量有关。
#样本对总体有代表性,用于对总体的某些指标推断使用
#总体参数(均值、方差、标准差)确定,样本参数是随机变量
估计方法:

  1. 点估计
    统计量由样本获取,用于对总体参数进行估计
  2. 区间估计——置信区间 (以样本均值为中心,2倍标准差的范围作置信区间)
    95%置信区间代表总体参数值有95%的可能在估计值的置信区间内

    均值标准误是衡量估计的均值的变异程度,随样本的标准差的变化而变化
    中心极限定理:样本量足够大时,总体服从正态分布
import pandas as pd
import os
  • 导入地区房价增长率数据
os.chdir(r'D:python商业实践《Python数据科学技术详解与商业实践》PDF+源代码+八大案例《Python数据科学技术详解与商业实践》PDF+源代码+八大案例源代码Python_book6Inference')
house_price_gr=pd.read_csv('house_price_gr.csv',encoding='gbk')

  • 对房屋价格增长率作描述性统计
house_price_gr.describe(include='all')

  • 可视化

(1)

get_ipython().magic('matplotlib inline')
import seaborn as sns
from scipy import stats
sns.distplot(house_price_gr.rate, kde=True, fit=stats.norm)


(2)

import statsmodels.api as sm
from matplotlib import pyplot as plt
fig = sm.qqplot(house_price_gr.rate, fit=True, line='45')
fig.show()


(3)

house_price_gr.plot(kind='box')

  • 置信区间估计 作95%置信区间
se = house_price_gr.rate.std() / len(house_price_gr) ** 0.5   #根号下n
LB = house_price_gr.rate.mean() - 1.98 * se  #下界 两倍(1.98)标准误  
UB = house_price_gr.rate.mean() + 1.98 * se
(LB, UB)
############或者使用DescrStatsW得到置信区间
d1 = sm.stats.DescrStatsW(house_price_gr.rate)  
d1.tconfint_mean(0.05)

注:95%置信区间的面积对应1.98倍的标准误(2是约等于)

=>房价同比增长率小于等于10%的概率不超过2.5%

2 假设检验与单样本T检验

基本原理:检验样本均值是否等于某个值。如果总体均值在置信区间内,则接受原假设;反之拒绝原假设。
假设检验步骤:
(1)假设 H0=0.1,H1≠0.1
(2)设置显著度 显著度设置与样本量有关 <100 取10%;100~500 取5%;500~1000取1%
(3)收集样本,得到均值
(4)假设均值分布

  • t检验
    假设H0:μ=μ0,计算t统计量

    根据t统计量相应p值判断是否拒绝原假设

DescrStatsW ->statsmodels.api包内方法
import statsmodels.api as sm

d1 = sm.stats.DescrStatsW(house_price_gr.rate)   #检验样本均值与假设的均值的t值  
print('t-statistic=%6.4f, p-value=%6.4f, df=%s' %d1.ttest_mean(0.1))   #假设均值μ=0.1,返回t值、p值、自由度

3 两样本T检验

(二分类变量、连续变量)
原理:分类变量分别对应的连续变量是否相等。例:开卡人的平均收入与没开卡人平均收入相等——检验平均收入对开卡是否有影响。
(1)原假设H0:μ1=μ2 、悖假设H1:μ1≠μ2
(2)显著度α:5%
(3)采集样本
(4)计算统计量

  • 导入信用卡客户信息数据
creditcard= pd.read_csv(r'creditcard_exp.csv',skipinitialspace=True)  #skipinitialspace=True在空格处填充NaN

  • 按是否开卡对平均收入作描述性统计
creditcard['Income'].groupby(creditcard['Acc']).describe()

  • 两样本t检验时,首先进行Levene方差齐性检验,p<α,认为其显著。
Suc0 = creditcard[creditcard['Acc'] == 0]['Income'] 
Suc1 = creditcard[creditcard['Acc'] == 1]['Income']   #把开卡和没开卡的人分别拿出来,得到两列数
leveneTestRes = stats.levene(Suc0, Suc1, center='median')  #center='median'集中趋势
print('w-value=%6.4f, p-value=%6.4f' %leveneTestRes)   #p<α,显著

  • 进行t检验
stats.stats.ttest_ind(Suc0, Suc1, equal_var=False)  #equal_var=False代表显著


p值远小于显著度α
**在实际运用中,方差齐性检验与否并不影响最后结论,省略,只需进行t检验即可

stats.stats.ttest_ind(Suc0, Suc1)   #p值仍远小于α

3 方差分析

(多分类变量、连续变量)

总变异(离差平方和):

组内变异SSe:每个样本偏离各自组均值情况,代表模型所不能解释的变异,自由度为n-k+1
组间变异SSm:每个组的均值偏离总体均值情况,代表模型所能解释的变异,自由度为k-1

F(组间变异,组内变异)=MSm/MSe

import statsmodels.api as sm
from statsmodels.formula.api import ols  #调用osl线性回归

教育等级(分为四个等级)对月均支出的影响:
anova_lm方差分析

sm.stats.anova_lm(ols('avg_exp ~ C(edu_class)',data=creditcard).fit())  #avg_exp受edu_class的影响

#python默认连续变量 C(edu_class)加大写C说明分类变量

最后得到p值很小,说明教育等级对支出有明显作用

多因素方差分析

sm.stats.anova_lm(ols('avg_exp ~ C(edu_class)+C(gender)',data=creditcard).fit()) #不考虑交叉
sm.stats.anova_lm(ols('avg_exp ~ C(edu_class)+C(gender)+C(edu_class)*C(gender)',data=creditcard).fit())  #考虑交叉
4 相关分析

(连续变量、连续变量)
判断两个变量是否有关:一个变量取值发生改变,另一个变量均值是否改变
三种相关系数:
Pearson相关系数:参数方法、连续变量之间的相关
Spearman相关系数(秩相关系数):非参方法
Kendall相关系数:非参方法,叙述变量之间的相关

  • 散点图观察两连续变量的关系
creditcard.plot(x='Income', y='avg_exp', kind='scatter')


#一个变量与另一个变量呈发散关系,说明直方图趋势为右偏,对Y取对数

  • 计算Pearson相关系数
creditcard[['avg_exp_ln', 'Income']].corr(method='pearson')  #0.6说明中度相关,两变量有关系

注:|r|越大表明两个变量之间的相关性越强,一般认为:
|r|≥0.8 时,两个变量高度相关
0.5≤|r|≤0.8时,两个变量中度相关
0.3≤|r|≤0.5时,两个变量低度相关
|r|<0.3 时,认为两个变量几乎不存在相关性

转载请注明:文章转载自 www.051e.com
本文地址:http://www.051e.com/it/294057.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 ©2023-2025 051e.com

ICP备案号:京ICP备12030808号