【问题标题】:Linear Regression with independent variables using scikit python使用 scikit python 的自变量线性回归
【发布时间】:2015-10-18 10:21:20
【问题描述】:

我是 Scikit-Learn 的新手,我需要解决有关使用 Python 预测新数据的问题。
我有一个二维数据表如下:(对不起,我不能在这里创建二维表)
-------------------------------------------------- ---
日期-----|小时
-------------------------------------------------- ---
------------| 1 | 2 | 3 | 4 |.....| 23 |
01 - 一月 | 3 | 7 | 22 | 46 | .... | 94 |
...
23 - 九月 | x | x | x | x |...
我的表有 1 个维度是日期,另一个是小时。每天将有 24 小时。每个小时都会得到一个随机的 2 位数字,该数字与其他数字无关。现在我可以使用线性回归预测未来几天的新数据吗?请帮我!谢谢。

【问题讨论】:

    标签: python statistics scipy scikit-learn


    【解决方案1】:

    首先,如果我正确理解了您的问题,那么对于某个日期的每个小时,您都会得到一个随机的 2 位数字。您有一组具有相应随机 2 位数字的日期,现在对于一个没有随机 2 位数字的新日期,您需要线性回归来预测该 2 位数字是什么。

    但是,我不知道这是否是最佳解决方案。使用线性回归,您需要一个预测变量(日期/小时)并使用它来预测参数/值(两位数)。不过,您提到该值是随机的,这意味着没有关系。除非有一个你没有提到,否则我认为你无法预测 2 位数字将是什么。充其量您可以通过生成一个新的随机 2 位数字来预测新的 2 位数字。

    如果您仍想创建Linear Regression with Scikit-Learn,则需要将数据拆分为训练集和测试集,并拆分为 X 和 y。 您的训练集是您知道的日期和时间 (y) 和数字 (x),您的测试集是日期和时间 (y)。请注意,您希望将日期和小时合并为 1 条记录,因此您获得的实例为:23-Sept-01、23-Sept-02、..、23-Sept-23。 (你的第 24 小时在哪里?) 我还建议在将数据加载到 python 之前拆分数据,或者使用numpy matrices 拆分数据。您可以使用 predict 函数使用线性回归以这种方式预测您的 2 位数。

    希望这有帮助,如果格式混乱,请见谅(这里是新的)

    【讨论】:

    • 感谢您的回答。就我而言,新数字是随机生成的,不依赖于数据/时间或以前的数字,而且很难预测。但在这种情况下,“历史总是会重演”吗?如果我将日期和时间视为 (y),将数字视为 (x),基于大量的旧数据,线性回归仍然有很好的预测?
    • @James Do:我不认为它可以。正如您所说,线性回归是一种预测技术,但它只能在(数字)X 和(日期和时间)Y 之间存在关系的情况下进行预测。正如您所说:“新数字是随机生成的,不依赖于数据/时间或以前的数字”意味着数字之间没有关系。数字的生成不受日期或时间的影响,因此线性回归找不到任何模式。因此它无法预测数字是多少,因为你不妨在那里放一个随机数。
    猜你喜欢
    • 2018-07-31
    • 2016-11-14
    • 2016-05-10
    • 2023-03-25
    • 1970-01-01
    • 2021-04-01
    • 2017-02-21
    • 2021-11-28
    • 2019-05-14
    相关资源
    最近更新 更多