【问题标题】:How to run regression without predictor?如何在没有预测器的情况下运行回归?
【发布时间】:2021-12-03 22:40:45
【问题描述】:

我正在尝试在没有预测变量的情况下运行回归,只有常数和错误项。型号为y = a + error

我试过如下:

import numpy as np
import statsmodels.api as sm
import matplotlib.pyplot as plt

y = np.random.normal(size=50)

sm.OLS(y, sm.add_constant(), missing='drop').fit()

但是,这不起作用。

【问题讨论】:

  • 什么是smy 是什么?请提供minimal reproducible example
  • import statsmodels.api as sm,y只是一个数字数组。
  • 您的问题可能对这个社区有用。但是,它没有提供太多信息和上下文。请尝试澄清您到目前为止所做的尝试。
  • @FranciscoMariaCalisto,我已经澄清了很多
  • 您是否尝试过创建一个与 y 长度相同的数组并为其赋予单个值(即:x = [0,0,0,0,0,...])?通过将此视为您的自变量,您将没有任何信息增益,因为预测变量始终相同

标签: python


【解决方案1】:

here 所示,使用没有预测变量的回归并不是主要的数据分析工具。逻辑回归不是分类器,虽然这已经被讨论为“Linear vs. Logistic Regression on Classification Problems”和“Regression for Binary Classification”。但是,由于您在此问题中指出的任何原因,它仍然可能是一项要求。因此,我们将尝试提供适当的解决方案来解决您的问题。

类似于这个question,你可以使用DummyRegressor from Sklearn如下:

import numpy as np
import statsmodels.api as sm
import matplotlib.pyplot as plt
from sklearn.dummy import DummyRegressor

X = np.random.normal(size=50)
y = np.random.normal(size=50)

dummy_regr = DummyRegressor(strategy="mean")
dummy_regr.fit(X, y)

...

【讨论】:

    猜你喜欢
    • 2021-03-25
    • 2010-12-06
    • 1970-01-01
    • 2023-01-09
    • 1970-01-01
    • 2022-01-03
    • 2015-05-01
    • 2015-03-01
    • 1970-01-01
    相关资源
    最近更新 更多