python 显著性差异_比萨斜塔——统计显著性检验

这篇博客介绍了如何使用Python的Statsmodels库进行线性回归分析,以研究比萨斜塔倾斜度与年份之间的关系。通过线性模型和t统计检验,结果显示年份与倾斜度之间存在显著性关联。此外,文章还讨论了R方、残差分析和T分布的概念在模型评估中的作用。
摘要由CSDN通过智能技术生成

Dataset

比萨斜塔是意大利最大的旅游景点之一。几百年来这座塔慢慢靠向一边,最终达到5.5度的倾斜角度,在顶端水平偏离了近3米。年度数据pisa.csv文件记录了从1975年到1987年测量塔的倾斜,其中lean代表了偏离的角度。在这个任务,我们将尝试使用线性回归来估计倾斜率以及解释其系数和统计数据。

# 读取数据

import pandas

import matplotlib.pyplot as plt

pisa = pandas.DataFrame({"year": range(1975, 1988),

"lean": [2.9642, 2.9644, 2.9656, 2.9667, 2.9673, 2.9688, 2.9696,

2.9698, 2.9713, 2.9717, 2.9725, 2.9742, 2.9757]})

print(pisa)

'''

lean year

0 2.9642 1975

1 2.9644 1976

2 2.9656 1977

3 2.9667 1978

4 2.9673 1979

5 2.9688 1980

6 2.9696 1981

7 2.9698 1982

8 2.9713 1983

9 2.9717 1984

10 2.9725 1985

11 2.9742 1986

12 2.9757 1987

'''

plt.scatter(pisa["year"], pisa["lean"])

Fit The Linear Model

从散点图中我们可以看到用曲线可以很好的拟合该数据。在之前我们利用线性回归来分析葡萄酒的质量以及股票市场,但在这个任务中,我们将学习如何理解关键的统计学概念。Statsmodels是Python中进行严格统计分析的一个库,对于线性模型,Statsmodels提供了足够多的统计方法以及适当的评估方法。sm.OLS这个类用于拟合线性模型,采取的优化方法是最小二乘法。OLS()不会自动添加一个截距到模型中,但是可以自己添加一列属性,使其值都是1即可产生截距。

import statsmodels.api as sm

y = pisa.lean # target

X = pisa.year # features

# add a column of 1's as the constant term

X = sm.add_constant(X)

# OLS -- Ordinary Least Squares Fit

linear = sm.OLS(y, X)

# fit model

linearfit = linear.fit()

print(linearfit.summary())

'''

OLS Regression Results

==============================================================================

Dep. Variable: lean R-squared: 0.988

Model: OLS Adj. R-squared: 0.987

Method: Least Squares

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值