首页 > 解决方案 > 为什么在 Excel 中分析数据与 Python 中的 OLS 统计模型给出不同的结果?

问题描述

我正在尝试使用变量 X1 = 客户和 X2 = KiloWattHour(kWh) 的多元线性回归来预测销售额。但是当我在 Excel 中尝试并在 Python 中尝试时,结果是不同的。

Excel中的数据:

Sales (Y) KWH (X1) Customer(X2)
2,72       3,13      174
2,59       3,03      175
2,81       3,28      175
2,66       3,14      117
2,80       3,29      87
2,71       3,13      74
2,93       3,33      68
2,71       3,10      104

CSV 中的数据导入 Python:

Sales (Y) KWH (X1) Customer(X2)
2.72       3.13      174
2.59       3.03      175
2.81       3.28      175
2.66       3.14      117
2.80       3.29      87
2.71       3.13      74
2.93       3.33      68
2.71       3.10      104

读取 CSV 文件的代码:

import pandas as pd
import numpy as np

from sklearn import linear_model
import statsmodels.api as sm

data = pd.read_csv('/code/master_data.csv')

print(data)

这是使用线性回归进行预测的代码:

x = data[['kwhpenjualan','totalpelanggan']]
y = data['totalpendapatan']

x_1 = sm.add_constant(x)

model = sm.OLS(y, x_1)
result = model.fit()
result.params

这是 Excel 中的结果:

Intercept     -2,345215066
KWH (X1)      1,618236605
Customer (X2) 0,002576039

这是 Python 中的结果:

Intercept         127.619065
KWH               -45.949302
Customer.         50.262137
dtype: float64

你能帮我解决这个问题吗?

标签: pythonpython-3.xpandasnumpystatsmodels

解决方案


推荐阅读