数据分析入门笔记1

《数据分析从入门到进阶》第一章笔记

t检验

也称为均值检验,验证样本的均值是否满足某个常熟或者两样本之间的均值是否满足差异。
1)提出原假设与备择假设 H0:样本均值为5000毫安(原假设);H1:样本均值不为5000毫安
2)分析概率值 pvalue大于0.05的阈值不能拒绝原假设,即认为样本均值为5000毫安的说法正确

from scipy import stats
volumns=[4988,5006,5021,4923,4947,4896,5104,4992,5070,5009,4892,4997]
print(stats.ttest_1samp(a=volumns,popmean=5000))
#Ttest_1sampResult(statistic统计量=-0.6941390148304715, pvalue概率值=0.5019915686890506)

卡方检验与pearson相关性检验

卡方检验用于验证两个离散相变量之间的独立性
1)提出原假设与备择假设 H0:学生的性别与其是否被录取相互独立;H1:~不相互独立
2)分析 p值小于0.05的阈值,应该拒绝原假设,即认为性别与其是否被录取是相关的

from scipy import stats
import pandas as pd
# 数据格式:一列Gender男/女;一列Offer是/否
students=pd.read_excel(r'D:\Projects\Python\Doing\pythonProject\data\卡方检验与Persion检验.xlsx')
# 构造两个离散型变量之间的频次统计表或列联表
crosstable=pd.crosstab(students.Gender,students.Offer)
# print(crosstable)
# Offer    否   是
# Gender
# 女       22  11
# 男        5  12

# 卡方检验
print(stats.chi2_contingency(crosstable))
#(统计量 4.859047996302897,p值 0.02750150730030855, 1, array([[17.82, 15.18], [ 9.18,  7.82]]))

pearson相关性检验用于验证两个数值型变量之间的独立性
1)提出原假设与备择假设 H0:汽车速度与刹车距离不相关;H1:~相关
2)分析 pearson相关系数说明两者存在很强的相关性,为了验证这个结论,看p值 p值远小于0.05的阈值,应该拒绝原假设,即认为汽车速度与刹车距离的强相关性是正确的

from scipy import stats
import pandas as pd
# 数据格式:一列speed(int);一列dist(int)
cars=pd.read_excel(r'D:\Projects\Python\Doing\pythonProject\data\卡方检验与Persion检验.xlsx',sheet_name=1)
print(cars)
# pearson相关性检验
print(stats.pearsonr(cars.speed,cars.dist))
#(pearson相关系数 0.8068949006892105,概率值 1.4898364962950763e-12)

Shapiro正态性检验

通常要求样本数量在5000以内,如果样本量在5000以上,可以使用KS验证方法
1)提出原假设与备择假设 H0:乘客的年龄服从正态分布;H1:~不服从
2)p值远小于0.05的阈值,应该拒绝原假设,即认为客的年龄不服从正态分布

from scipy import stats
import pandas as pd
titanic=pd.read_csv(r'D:\Projects\Python\Doing\pythonProject\data\Titanic.csv')
# 数据格式中含age为NaN的情况
print(titanic.Age)
# 剔除年龄中的缺失值,再作Shapiro检验
print(stats.shapiro(titanic.Age[~titanic.Age.isnull()]))
# ShapiroResult(statistic=0.9814548492431641, pvalue=7.322165629375377e-08)

(预测分析法)线性回归模型

假设不考虑模型的显著性和回归系数的显著性,那么得到的回归模型可以表示为Profit=50120+0.81RD_RD_Spend-0.03Administration+0.03Marketing_Spend
所以当已知三个因素的具体值时,就可以将它们的值导入线性回归模型的方程式中,求得可能的商品利润。

import pandas as pd
import statsmodels.formula.api as smf
profit=pd.read_csv(r'D:\Projects\Python\Doing\pythonProject\data\Profit.csv')
# 创建多元线性回归模型,lm是拟合结果
lm=smf.ols('Profit~RD_Spend+Administration+Marketing_Spend',data=profit).fit()
# 返回回归拟合的概览
# print(lm.summary())
'''
                            OLS Regression Results(最小二乘法回归)                            
==============================================================================
Dep. Variable:                 Profit   R-squared:                       0.951
Model:                            OLS   Adj. R-squared:                  0.948
Method:                 Least Squares   F-statistic:                     296.0
Date:                Mon, 27 Sep 2021   Prob (F-statistic):           4.53e-30
Time:                        18:49:50   Log-Likelihood:                -525.39
No. Observations:                  50   AIC:                             1059.
Df Residuals:                      46   BIC:                             1066.
Df Model:                           3                                         
Covariance Type:            nonrobust                                         
===================================================================================
                      coef    std err          t      P>|t|      [0.025      0.975]
-----------------------------------------------------------------------------------
Intercept        5.012e+04   6572.353      7.626      0.000    3.69e+04    6.34e+04
RD_Spend            0.8057      0.045     17.846      0.000       0.715       0.897
Administration     -0.0268      0.051     -0.526      0.602      -0.130       0.076
Marketing_Spend     0.0272      0.016      1.655      0.105      -0.006       0.060
==============================================================================
Omnibus:                       14.838   Durbin-Watson:                   1.282
Prob(Omnibus):                  0.001   Jarque-Bera (JB):               21.442
Skew:                          -0.949   Prob(JB):                     2.21e-05
Kurtosis:                       5.586   Cond. No.                     1.40e+06
==============================================================================
'''
# 调取计算出的回归系数,也就是coef列
print(lm.params)
'''
Intercept          50122.192990
RD_Spend               0.805715
Administration        -0.026816
Marketing_Spend        0.027228
dtype: float64
'''
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值