使用statsmodels.formula.apiols()进行线性回归分析
发布时间:2023-12-28 01:02:06
statsmodels是一个Python库,用于拟合统计模型、进行统计测试和探索数据。它提供了一个功能丰富且灵活的API,可以用于执行各种统计分析。其中,statsmodels.formula.api模块提供了一种使用R-style公式语法定义模型的方式。
下面是一个使用statsmodels.formula.api.ols()进行线性回归分析的例子:
import numpy as np
import pandas as pd
import statsmodels.api as sm
import statsmodels.formula.api as smf
# 创建一个模拟数据集
np.random.seed(0)
n = 100
x1 = np.random.randn(n)
x2 = np.random.randn(n)
y = 1 + 2*x1 + 3*x2 + np.random.randn(n)
data = pd.DataFrame({'x1': x1, 'x2': x2, 'y': y})
# 使用OLS拟合线性回归模型
model = smf.ols(formula='y ~ x1 + x2', data=data)
result = model.fit()
# 打印模型的摘要统计信息
print(result.summary())
# 获取模型的参数估计值
print("Parameters:
", result.params)
# 进行预测
x_new = pd.DataFrame({'x1': [1, 2, 3], 'x2': [1, 2, 3]})
y_pred = result.predict(x_new)
print("Predictions:
", y_pred)
在这个例子中,我们创建了一个包含两个自变量(x1和x2)和一个因变量(y)的模拟数据集。然后,使用statsmodels.formula.api.ols()函数定义了一个线性回归模型,使用R-style公式语法来指定模型的形式。在这个例子中,我们使用'y ~ x1 + x2'来表示y与x1和x2之间的线性关系。
接下来,使用fit()方法对模型进行拟合,得到了一个包含了估计的参数、标准误差、t统计量和p值等统计信息的结果对象。可以使用summary()方法打印出模型的详细统计摘要。
在这个例子中,我们还使用predict()方法对新的自变量进行预测,得到了对应的因变量的预测值。
通过这个例子,你可以了解到如何使用statsmodels.formula.api.ols()进行线性回归分析,并进行模型拟合、参数估计和预测。使用这个函数,你可以轻松地进行统计建模和分析,并获得详细的统计结果。
