python - 为什么在 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
你能帮我解决这个问题吗?
解决方案
推荐阅读
- angular - localStorage.getItem('user') 为空
- java - 调试 gradle bootRun 有 server=n
- sql - 使用 postgres 表中另一列的值更新列
- azure - Azure 函数调用外部 REST API,4 分钟后出现 504 服务器错误
- javascript - 在脚本控制下的 Google Docs 中,插入表格后自动插入的段落可以通过编程方式解决吗?
- html - 显示微调器,直到从 HTTP 请求自动完成字段加载结果
- docker - docker rebase 一个层到一个新的图像?
- python - 根据值移除键值对
- angular - 注入器解决方法后的 Angular 服务循环依赖警告,这对我来说是好的还是糟糕的设计?
- laravel - Laravel 中的条纹支付集成问题。当我提交表格时,它在下面给出