Python 基于pandas和stats模型的电子商务商品销售预测

Python 基于pandas和stats模型的电子商务商品销售预测,python,pandas,statsmodels,Python,Pandas,Statsmodels,我想用pandas和statsmodel预测电子商务业务中每种产品的销售数量。因为商品销售是一个计数因变量,所以我假设泊松模型最有效 在理想情况下,该模型将用于决定在广告中使用哪些产品,以增加产品视图,并决定决定改变价格的价格点,以获得最佳性能/盈利能力 到目前为止还不错,但是当我尝试: ... import statsmodels.formula.api as smf ... result = smf.poisson(formula="Item_Sales ~ Product_Detail_V

我想用pandas和statsmodel预测电子商务业务中每种产品的销售数量。因为商品销售是一个计数因变量,所以我假设泊松模型最有效

在理想情况下,该模型将用于决定在广告中使用哪些产品,以增加产品视图,并决定决定改变价格的价格点,以获得最佳性能/盈利能力

到目前为止还不错,但是当我尝试:

...
import statsmodels.formula.api as smf
...
result = smf.poisson(formula="Item_Sales ~ Product_Detail_Views + Variant_Price + C(Product_Type)", data=df).fit()
我得到:

RuntimeWarning: invalid value encountered in multiply
  return -np.dot(L*X.T, X)
RuntimeWarning: invalid value encountered in greater_equal
  return mu >= 0
RuntimeWarning: invalid value encountered in greater
  oldparams) > tol))
还有一张满是南的桌子

如果我对同一数据集使用OLS:

result = smf.ols(formula="Item_Sales ~ Product_Detail_Views + Variant_Price + C(Product_Type)", data=df).fit()
我得到的R平方是0.809,所以数据是好的。虽然我得到了负面的预测,但这个模型并没有那么有用,这显然是不可能的,你不可能有负面的商品销售


如何使泊松模型工作?

看起来像是数据问题。由于未显示样本数据,因此无法确定。您可以尝试使用带有族泊松的GLM或带有族泊松的GEE

例如:

smf.glm('sedimentation ~ C(control_grid)', data=df, families=sm.families.Poisson)

如果你今天从商店买了一台电视机,明天还回来,那么明天的-1预测听起来相当不错;因为明天假设时间是分析中的一个因素,而事实并非如此。若你们从等式中抽出时间,你们能得到的最坏结果是0净销售额,不包括超出范围的盗窃。