Python使用Statsmodels线性回归分析
环境准备:
1. 安装Python(建议安装Python 3.x版本)
2. 安装statsmodels库:在命令行中运行`pip install statsmodels`
依赖的库:
- statsmodels: 用于执行线性回归分析
数据集介绍:
本示例使用的数据集是statsmodels自带的波士顿房价数据集(Boston Housing Dataset),包含了美国波士顿地区的房价和其他相关特征的数据。数据集包含506个观察和13个特征变量。
数据集下载网址:https://raw.githubusercontent.com/selva86/datasets/master/BostonHousing.csv
样例数据:
下面是数据集中的几列示例数据:
CRIM ZN INDUS NOX RM AGE DIS RAD TAX PTRATIO B LSTAT MEDV
0 0.00632 18.00 2.310 0.538 6.575 65.20 4.0900 1 296.00 15.30 396.90 4.98 24.00
1 0.02731 0.00 7.070 0.469 6.421 78.90 4.9671 2 242.00 17.80 396.90 9.14 21.60
2 0.02729 0.00 7.070 0.469 7.185 61.10 4.9671 2 242.00 17.80 392.83 4.03 34.70
3 0.03237 0.00 2.180 0.458 6.998 45.80 6.0622 3 222.00 18.70 394.63 2.94 33.40
4 0.06905 0.00 2.180 0.458 7.147 54.20 6.0622 3 222.00 18.70 396.90 5.33 36.20
完整代码如下:
python
import pandas as pd
import statsmodels.api as sm
# 下载数据集
url = 'https://raw.githubusercontent.com/selva86/datasets/master/BostonHousing.csv'
data = pd.read_csv(url)
# 提取特征和目标变量
X = data[['CRIM', 'ZN', 'INDUS', 'NOX', 'RM', 'AGE', 'DIS', 'RAD', 'TAX', 'PTRATIO', 'B', 'LSTAT']]
y = data['MEDV']
# 添加常数列作为自变量
X = sm.add_constant(X)
# 训练线性回归模型
model = sm.OLS(y, X)
results = model.fit()
# 打印回归结果
print(results.summary())
运行以上代码,将会得到回归分析的结果摘要,包括各个特征的系数、t-statistic、p-value等信息。