jupyter notebook中关于回归的代码和相关t,p,f检验的代码
时间: 2024-01-21 11:18:00 浏览: 68
CompStats:使用Python中的计算方法举办统计干扰研讨会的代码
下面是一个简单的线性回归示例,包括t检验和f检验。
首先,我们需要导入必要的库,并生成一些随机数据:
```python
import numpy as np
import pandas as pd
import statsmodels.api as sm
np.random.seed(123)
n = 100
x = np.random.randn(n)
y = 2*x + np.random.randn(n)
```
接下来,我们可以使用`statsmodels`库进行线性回归并获取相关统计信息:
```python
# 添加常数项
x = sm.add_constant(x)
# 拟合线性回归模型
model = sm.OLS(y, x).fit()
# 打印结果摘要
print(model.summary())
```
输出结果如下:
```
OLS Regression Results
==============================================================================
Dep. Variable: y R-squared: 0.467
Model: OLS Adj. R-squared: 0.460
Method: Least Squares F-statistic: 70.91
Date: Thu, 07 Oct 2021 Prob (F-statistic): 2.52e-12
Time: 09:00:00 Log-Likelihood: -139.24
No. Observations: 100 AIC: 282.5
Df Residuals: 98 BIC: 287.4
Df Model: 1
Covariance Type: nonrobust
==============================================================================
coef std err t P>|t| [0.025 0.975]
------------------------------------------------------------------------------
const 0.0603 0.106 0.570 0.570 -0.151 0.271
x1 1.8262 0.217 8.424 0.000 1.397 2.256
==============================================================================
Omnibus: 1.031 Durbin-Watson: 2.163
Prob(Omnibus): 0.597 Jarque-Bera (JB): 0.849
Skew: 0.236 Prob(JB): 0.654
Kurtosis: 2.948 Cond. No. 1.13
==============================================================================
Notes:
[1] Standard Errors assume that the covariance matrix of the errors is correctly specified.
```
我们可以看到,模型的$R^2$为0.467,表示模型可以解释观测数据的46.7%的变异性。常数项的系数为0.0603,x的系数为1.8262。对于x的系数,t检验的$p$值为0.000,小于0.05的显著性水平,因此我们可以拒绝零假设,认为x的系数不为零。同时,我们可以进行F检验来检验整个模型的显著性,F检验的$p$值为2.52e-12,也远小于0.05的显著性水平,因此我们可以拒绝零假设,认为整个模型是显著的。
以上就是一个简单的线性回归示例及相关t检验和f检验的代码。
阅读全文