【发布时间】:2019-11-26 14:58:55
【问题描述】:
您好,我对 R 比较陌生,在尝试对每行进行线性回归时遇到了一些麻烦。
我不能附上实际的数据集,因为我不允许分享它,但这是基本大纲:
Jan Feb Mar Apr May Jun Jul Aug Sep Oct Nov Dec (...total 12 cols)
Type 1
Type 2
Type 3
(... total 1680 rows)
The values are level of inventory for each type, numeric (no strings).
基本上我想做的是outlined here:
(1) 以时间为自变量的线性回归
(2) ANOVA 检验时间系数是否具有统计显着性。
我想做的是对每一行(即每个“类型”)进行回归分析,将时间作为自变量,然后为每一行输出一个 p 值,该值将添加到新列中的行中.目的是使用 p 值来查看每种类型的库存是否存在趋势,而不必绘制 1680 种不同类型的产品,因为这很难分析。
我已经使用 lm() 对每一行查看了很多类似的问题,但没有一个问题包括我将如何输出 p 值而不是系数本身。希望有人能帮忙!
【问题讨论】:
-
在交叉验证堆栈交换上发布可能会有更好的结果。
-
可能最简单的方法是“融化”数据集(即转换为长格式),然后在 SO 上应用许多“按组线性回归”解决方案之一(例如
nlme::lmList()) -
你的 p 值是什么意思?在线性回归中,p 值用于确定变量是否对模型有贡献。不用于判断模型是否有趋势、是否准确、是否满足线性回归的所有假设、超过12个数据点是否有效等。
-
另外,12 个数据点非常小。而且您实际上只有 1 个 [ordered] 变量,即月份。在时间序列分析中,您将能够判断是否存在斜率(趋势),但不是更多。您可能还可以判断数据是凸的还是凹的,或者其他类型的度量。但是,如果存在年度季节性,那么您将不会从 12 个月的线性回归中获得太多收益。
-
我的意思是在这种情况下,回归被用来找到时间系数,我试图看看时间系数是否在统计上显着,作为是否存在趋势。就我的目的而言,我只需要找出 (a) 是否存在趋势,时间序列不是平稳的,或者 (b) 没有趋势,时间序列是平稳的。我希望确定的是任何停滞的库存。使用 p-value 或 adf.test 似乎最直观,因为我不能很好地拥有 1680 个不同的图表并以这种方式识别停滞类型。
标签: r linear-regression anova