如何在 R(或 python)中应用具有线性回归和多个变量的滚动 window?

How to apply a rolling window with linear regression and multiple variables in R( or python)?

我有超过 708 天的约会。行中有 6 个产品列有销售编号。
还有13个变量。其中大部分是天气日期,如太阳时数或温度,其他是二进制的(无事件=0,事件=1)。

目标是预测产品的销量。

图中的数据是泛化的

我想做的是滚动window。
这样我就可以用 77 天来预测下一周(用 1:77 预测第 78 到 84 天),然后依此类推(用 8:84 来预测 85:93)。
我还想将组合预测 (78:708) 与实际日期进行比较。

我没有找到在 R 中应用滚动 ln 函数的方法。

我的 python 技能非常基础,但 python 中的解决方案也将不胜感激。

型号:

model_A<-lm(公式=Produkt_A~weekday+Variable_1+Variable_2+Variable_3+Variable_4+Variable_5+Variable_6+Variable_7+Variable_8+Variable_9+Variable_10+Variable_11+Variable_12+Variable_13,数据=df)

前 100 个数据点:

data <- structure(list(weekday = c(7, 1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 4,
5, 6, 7, 1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 4, 
5, 6, 7, 1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 4, 
5, 6, 7, 1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 4, 
5, 6, 7, 1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 4, 5, 6, 7, 1, 2, 3, 4, 
5, 6, 7, 1), Produkt_A = c(204, 187, 189, 203, 217, 211, 222, 
194, 219, 240, 161, 202, 193, 236, 164, 204, 170, 190, 213, 235, 
199, 195, 182, 184, 189, 209, 188, 176, 209, 192, 203, 201, 209, 
256, 216, 198, 209, 169, 192, 173, 170, 201, 170, 186, 166, 200, 
206, 192, 153, 171, 170, 190, 216, 208, 202, 188, 179, 177, 149, 
192, 179, 223, 198, 192, 184, 154, 172, 186, 215, 207, 179, 141, 
167, 181, 182, 181, 202, 168, 216, 197, 211, 191, 210, 200, 171, 
196, 214, 200, 206, 203, 188, 141, 127, 181, 195, 233, 191, 227, 
186, 134), Prdukt_B = c(213, 237, 219, 228, 198, 247, 246, 230, 
229, 192, 236, 182, 205, 202, 167, 206, 195, 179, 209, 211, 232, 
192, 191, 174, 182, 232, 229, 207, 212, 236, 237, 195, 241, 286, 
247, 229, 230, 255, 211, 247, 288, 226, 226, 184, 192, 200, 258, 
238, 270, 224, 194, 197, 228, 244, 230, 241, 215, 218, 218, 196, 
275, 246, 247, 215, 250, 207, 243, 253, 264, 221, 185, 216, 211, 
218, 218, 267, 261, 212, 242, 246, 254, 269, 308, 278, 234, 230, 
259, 225, 232, 257, 209, 193, 192, 193, 240, 229, 220, 242, 210, 
159), Produkt_C = c(18, 27, 37, 21, 27, 20, 35, 15, 27, 20, 23, 
22, 20, 19, 20, 21, 23, 15, 14, 27, 21, 14, 22, 28, 23, 22, 34, 
27, 20, 20, 22, 33, 40, 35, 42, 44, 38, 31, 37, 32, 37, 30, 24, 
20, 28, 29, 26, 36, 29, 24, 15, 31, 22, 31, 39, 35, 39, 35, 31, 
30, 34, 51, 31, 30, 33, 19, 26, 39, 32, 51, 28, 19, 33, 32, 26, 
33, 41, 48, 33, 29, 42, 33, 60, 51, 49, 30, 38, 35, 24, 30, 31, 
19, 16, 26, 33, 24, 38, 32, 35, 24), Produkt_D = c(17, 16, 9, 
23, 27, 25, 4, 8, 14, 19, 26, 23, 28, 7, 17, 17, 18, 22, 25, 
27, 20, 25, 33, 23, 27, 17, 30, 5, 11, 26, 16, 32, 22, 19, 14, 
11, 10, 7, 14, 28, 16, 22, 14, 10, 21, 26, 31, 20, 13, 7, 17, 
20, 17, 29, 26, 8, 4, 18, 12, 14, 14, 15, 12, 10, 7, 25, 26, 
25, 17, 13, 27, 8, 14, 20, 18, 19, 15, 14, 21, 30, 11, 37, 18, 
26, 22, 27, 16, 27, 20, 29, 16, 7, 19, 15, 15, 16, 6, 8, 10, 
9), Produkt_E = c(24, 14, 18, 20, 19, 46, 32, 30, 5, 6, 18, 14, 
26, 17, 37, 25, 27, 9, 16, 39, 21, 14, 15, 7, 14, 17, 24, 20, 
33, 18, 14, 24, 21, 20, 19, 16, 12, 12, 15, 15, 25, 14, 31, 18, 
19, 16, 17, 25, 19, 15, 15, 21, 20, 21, 17, 16, 29, 10, 13, 11, 
16, 15, 24, 20, 25, 12, 15, 17, 30, 24, 24, 21, 14, 18, 21, 25, 
17, 27, 20, 20, 26, 17, 18, 23, 14, 27, 19, 22, 24, 23, 22, 22, 
3, 18, 11, 16, 22, 19, 14, 11), Produkt_F = c(35, 19, 30, 32, 
26, 28, 42, 39, 44, 45, 37, 37, 36, 35, 25, 40, 24, 24, 25, 36, 
31, 26, 22, 27, 21, 21, 34, 49, 41, 33, 38, 33, 34, 40, 68, 80, 
53, 32, 43, 49, 31, 52, 55, 31, 29, 29, 37, 37, 47, 44, 35, 32, 
41, 37, 42, 57, 60, 57, 45, 54, 71, 60, 59, 48, 44, 37, 36, 48, 
47, 64, 53, 40, 45, 49, 24, 46, 88, 54, 49, 38, 65, 60, 69, 72, 
73, 51, 59, 62, 34, 36, 59, 43, 32, 85, 101, 85, 69, 100, 65, 
54), day_number = c(1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 
14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 
30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 
46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 
62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 
78, 79, 80, 81, 82, 83, 84, 85, 86, 87, 88, 89, 90, 91, 92, 93, 
94, 95, 96, 97, 98, 99, 100), Variable_1 = c(20.2525, 11.7558333333333, 
10.5270833333333, 13.0058333333333, 16.815, 17.56, 13.7058333333333, 
15.96625, 10.5575, 10.295, 13.15125, 13.15, 16.3366666666667, 
18.3704166666667, 16.15875, 14.8670833333333, 16.77875, 16.2008333333333, 
17.5420833333333, 18.44125, 18.3858333333333, 17.1179166666667, 
15.32375, 16.7, 16.3304166666667, 15.5291666666667, 14.015, 13.5420833333333, 
11.9104166666667, 9.43166666666667, 10.9129166666667, 11.8391666666667, 
12.66875, 11.4791666666667, 8.28375, 5.5125, 7.62375, 6.32958333333333, 
8.79041666666667, 10.0675, 10.2854166666667, 9.14708333333333, 
10.8925, 10.9716666666667, 12.175, 12.3229166666667, 11.63, 11.9608333333333, 
11.3966666666667, 13.1179166666667, 10.9333333333333, 11.9541666666667, 
9.16208333333333, 7.23791666666667, 5.10625, 4.1225, 1.80666666666667, 
0.783333333333333, 2.23958333333333, 3.39208333333333, 4.68625, 
5.58291666666667, 7.42, 6.32166666666667, 5.3175, 4.87583333333333, 
5.68708333333333, 7.99666666666667, 7.2825, 7.60416666666667, 
10.75625, 13.2133333333333, 9.9975, 9.67416666666667, 10.5054166666667, 
11.0079166666667, 7.30416666666667, 8.43, 5.37666666666667, 3.07583333333333, 
1.40791666666667, 0.157916666666667, -0.474166666666667, -0.190833333333333, 
3.74333333333333, 4.21875, 2.1925, 4.93083333333333, 6.36416666666667, 
9.21291666666667, 11.2970833333333, 11.095, 7.30041666666667, 
1.94958333333333, 1.66875, 3.9075, 3.83333333333333, 1.32208333333333, 
3.6825, 5.095), Variable_2 = c(27.08, 15.85, 16.71, 20.69, 23.88, 
23.4, 20.01, 23.33, 14.19, 15.34, 17.88, 20.29, 23.75, 25.15, 
19.86, 20.59, 22.79, 24.04, 23.57, 25.6, 24.86, 23.67, 22.81, 
23.11, 21.98, 23.14, 19.35, 18.98, 18.11, 16.25, 17.26, 16.42, 
18.41, 15.73, 11.22, 6.93, 14.21, 10.35, 16.43, 14.73, 14.3, 
15.34, 17.19, 17.52, 18.35, 16.66, 14.73, 16.79, 17.14, 18.36, 
20.95, 15.54, 15.1, 13.15, 10.5, 9.28, 5.6, 6.33, 7.84, 7.94, 
10.86, 10.08, 12.01, 10.34, 6.98, 6.39, 10.29, 13.49, 9.03, 10.56, 
13.51, 15.42, 11.35, 13.67, 12.94, 13.46, 9.06, 10.79, 6.98, 
5.16, 5.71, 3.58, 2.21, 2.51, 7.77, 7.73, 7.19, 7.99, 9.9, 12.04, 
12.67, 13.21, 12.13, 5.1, 5.73, 8.7, 6.81, 3.79, 5.94, 6.84), 
    Variable_3 = c(16.3108333333333, 8.77083333333333, 5.61916666666667, 
    10.2091666666667, 15.34625, 15.6825, 10.9925, 13.9241666666667, 
    6.25583333333333, 6.505, 11.4929166666667, 11.6275, 14.0754166666667, 
    16.5591666666667, 14.9191666666667, 14.0804166666667, 15.9579166666667, 
    13.21, 15.5595833333333, 16.3566666666667, 16.6279166666667, 
    14.2116666666667, 11.51625, 14.625, 14.7758333333333, 14.3008333333333, 
    13.3770833333333, 12.6420833333333, 9.81083333333333, 6.84875, 
    7.50125, 8.26791666666667, 11.1266666666667, 9.33958333333333, 
    5.27416666666667, 0.43625, 4.05916666666667, 0.0675, 4.48416666666667, 
    7.59791666666667, 7.93416666666667, 7.35416666666667, 8.72625, 
    7.64791666666667, 9.56041666666667, 10.08, 9.62041666666667, 
    9.22375, 7.78833333333333, 9.89583333333333, 8.34083333333333, 
    9.55833333333333, 5.55958333333333, 2.96541666666667, 0.897916666666667, 
    -0.807916666666667, -1.76875, -3.45458333333333, -2.23583333333333, 
    -0.18875, 0.573333333333333, 0.973333333333333, 4.225, 2.7525, 
    1.99083333333333, 1.50666666666667, 1.10333333333333, 2.66291666666667, 
    4.52166666666667, 4.9075, 6.25583333333333, 8.1975, 5.69625, 
    5.81625, 8.01458333333333, 6.28416666666667, -0.420833333333333, 
    -0.555416666666667, -0.485416666666667, -0.599583333333333, 
    -2.83291666666667, -4.32, -4.20708333333333, -5.2775, -1.79333333333333, 
    0.420416666666667, -3.52, 0.6125, 1.63625, 2.69125, 5.0475, 
    6.22791666666667, 2.54708333333333, -0.890833333333333, -2.08666666666667, 
    -0.840416666666667, -0.16, -2.14041666666667, -0.218333333333333, 
    2.30125), Variable_4 = c(22.49, 13.49, 10.19, 19.43, 23.17, 
    21.56, 15.64, 21.98, 10.96, 10.5, 16.38, 19.85, 23.08, 24.11, 
    18.98, 20.14, 22.88, 21.46, 21.14, 23.35, 23.62, 21.86, 18.47, 
    21.73, 21.8, 20.06, 19.04, 18.4, 16.13, 14.39, 12.82, 12.23, 
    15.88, 12.21, 7.94, 3.21, 9.03, 3.2, 13.8, 13.07, 11.59, 
    13.75, 16.78, 15.84, 17.63, 14.68, 12.68, 14.96, 14.67, 15.55, 
    21.4, 12.78, 11.87, 9.75, 8.01, 5.49, 2.09, 1.15, 3.77, 4.97, 
    7.88, 5.81, 9.09, 7.94, 3.42, 3.71, 6.81, 8.46, 8.17, 8.58, 
    9.64, 10.1, 7.22, 9.16, 11.14, 10.32, 0.76, 1.58, 0.99, 0.75, 
    0.38, -2.42, -2.44, -3.35, 3.05, 2.56, 0.86, 4.86, 4.04, 
    6.82, 6.83, 8.78, 5.55, 1.45, 2.79, 5.07, 2.44, 0.54, 3.49, 
    3.75), Variable_5 = c(16.3108333333333, 8.77083333333333, 
    5.61916666666667, 10.2091666666667, 15.34625, 15.6825, 10.9925, 
    13.9241666666667, 6.25583333333333, 6.505, 11.4929166666667, 
    11.6275, 14.0754166666667, 16.5591666666667, 14.9191666666667, 
    14.0804166666667, 15.9579166666667, 13.21, 15.5595833333333, 
    16.3566666666667, 16.6279166666667, 14.2116666666667, 11.51625, 
    14.625, 14.7758333333333, 14.3008333333333, 13.3770833333333, 
    12.6420833333333, 9.81083333333333, 6.84875, 7.50125, 8.26791666666667, 
    11.1266666666667, 9.33958333333333, 5.27416666666667, 0.43625, 
    4.05916666666667, 0.0675, 4.48416666666667, 7.59791666666667, 
    7.93416666666667, 7.35416666666667, 8.72625, 7.64791666666667, 
    9.56041666666667, 10.08, 9.62041666666667, 9.22375, 7.78833333333333, 
    9.89583333333333, 8.34083333333333, 9.55833333333333, 5.55958333333333, 
    2.96541666666667, 0.897916666666667, -0.807916666666667, 
    -1.76875, -3.45458333333333, -2.23583333333333, -0.18875, 
    0.573333333333333, 0.973333333333333, 4.225, 2.7525, 1.99083333333333, 
    1.50666666666667, 1.10333333333333, 2.66291666666667, 4.52166666666667, 
    4.9075, 6.25583333333333, 8.1975, 5.69625, 5.81625, 8.01458333333333, 
    6.28416666666667, -0.420833333333333, -0.555416666666667, 
    -0.485416666666667, -0.599583333333333, -2.83291666666667, 
    -4.32, -4.20708333333333, -5.2775, -1.79333333333333, 0.420416666666667, 
    -3.52, 0.6125, 1.63625, 2.69125, 5.0475, 6.22791666666667, 
    2.54708333333333, -0.890833333333333, -2.08666666666667, 
    -0.840416666666667, -0.16, -2.14041666666667, -0.218333333333333, 
    2.30125), Variable_6 = c(6.92875, 2.515, 4.37041666666667, 
    2.26166666666667, 1.79333333333333, 2.47333333333333, 2.83083333333333, 
    2.94, 4.53416666666667, 3.08375, 1.74958333333333, 1.7175, 
    3.23583333333333, 2.25541666666667, 2.3375, 1.4575, 2.0375, 
    4.51791666666667, 3.0675, 3.39875, 3.21083333333333, 3.99458333333333, 
    4.24166666666667, 2.38, 2.07041666666667, 1.70458333333333, 
    1.11125, 1.29166666666667, 1.98625, 1.4075, 2.85625, 3.79541666666667, 
    1.93, 1.77916666666667, 2.61833333333333, 4.50291666666667, 
    2.97583333333333, 5.98458333333333, 3.7675, 2.06583333333333, 
    1.99541666666667, 1.03916666666667, 2.26, 3.59125, 2.59458333333333, 
    1.97583333333333, 1.91791666666667, 3.00791666666667, 3.80833333333333, 
    3.87333333333333, 3.2175, 2.4125, 3.37416666666667, 3.95291666666667, 
    3.09291666666667, 3.68875, 1.51541666666667, 2.40791666666667, 
    2.78041666666667, 1.59541666666667, 2.82, 3.93708333333333, 
    2.46708333333333, 2.76541666666667, 2.35208333333333, 2.27291666666667, 
    3.62875, 4.41291666666667, 1.90916666666667, 1.5575, 5.05625, 
    6.83375, 5.00166666666667, 3.66416666666667, 2.64333333333333, 
    5.42791666666667, 8.6, 11.1095833333333, 5.98791666666667, 
    2.21708333333333, 2.44041666666667, 2.63541666666667, 1.52666666666667, 
    3.31083333333333, 5.35375, 2.77666666666667, 4.72875, 3.55583333333333, 
    4.14875, 7.35666666666667, 7.70666666666667, 6.15333333333333, 
    5.0575, 0.9975, 1.85041666666667, 3.17291666666667, 1.88833333333333, 
    1.55583333333333, 2.57375, 1.48041666666667), Variable_7 = c(61.75, 
    63.6666666666667, 53.6666666666667, 55.25, 60.625, 58.375, 
    64.4166666666667, 68.0833333333333, 70.125, 61.0833333333333, 
    72.3333333333333, 74.625, 67.2916666666667, 56.5833333333333, 
    73.2916666666667, 76.9166666666667, 74.0833333333333, 70.4583333333333, 
    64.875, 62.75, 65.7916666666667, 62.125, 57.125, 59.5, 65.125, 
    70.7916666666667, 80, 79.7083333333333, 74.0833333333333, 
    65.375, 65.0833333333333, 68.7083333333333, 80.9166666666667, 
    73.1666666666667, 80.9166666666667, 74.0833333333333, 75.5416666666667, 
    65.9166666666667, 66.7916666666667, 75.0416666666667, 76.4166666666667, 
    80.1666666666667, 81.5416666666667, 76.375, 70.75, 69.25, 
    75.7916666666667, 75.75, 72.375, 72.4166666666667, 86.0416666666667, 
    73.5, 75.3333333333333, 78.1666666666667, 72.875, 67.7916666666667, 
    72.375, 76.2916666666667, 70.2083333333333, 66.2916666666667, 
    71.125, 76, 78.4166666666667, 79.4166666666667, 83.0833333333333, 
    82.4166666666667, 70.6666666666667, 55.7083333333333, 78.7916666666667, 
    73.5833333333333, 71.9166666666667, 76.2916666666667, 81.0416666666667, 
    72.3333333333333, 81.7083333333333, 73.125, 71.6666666666667, 
    79.3333333333333, 83.0833333333333, 80.5, 73.9166666666667, 
    76.2916666666667, 77.5416666666667, 71.125, 87.75, 83.375, 
    74.9583333333333, 78.4166666666667, 73.375, 70.2916666666667, 
    73.0416666666667, 80.4583333333333, 84.2083333333333, 86.5416666666667, 
    75.125, 60.4583333333333, 56.5, 80.6666666666667, 77.625, 
    81.4166666666667), Variable_8 = c(0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 4, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1, 
    3, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), Variable_9 = c(4.55, 
    5.98333333333333, 11.4166666666667, 11.3166666666667, 11.3333333333333, 
    11.1333333333333, 9.96666666666667, 8.58333333333333, 1.45, 
    4, 1.1, 9.73333333333333, 10.3333333333333, 6.5, 3.31666666666667, 
    7.05, 10.05, 9.95, 6.43333333333333, 10.7333333333333, 11.1, 
    11.0333333333333, 10.75, 9.13333333333333, 9.98333333333333, 
    8.48333333333333, 6.56666666666667, 8.51666666666667, 7.63333333333333, 
    10.5166666666667, 5.81666666666667, 5.05, 6.48333333333333, 
    5.23333333333333, 0, 0, 1.45, 1.18333333333333, 2.25, 3.56666666666667, 
    0.3, 5.75, 5.73333333333333, 5.45, 7.05, 7.41666666666667, 
    5.71666666666667, 5.31666666666667, 2.93333333333333, 6.8, 
    5.48333333333333, 0.516666666666667, 8.58333333333333, 8.73333333333333, 
    9.35, 7.05, 9.13333333333333, 1.76666666666667, 9.01666666666667, 
    6.58333333333333, 9.11666666666667, 2.18333333333333, 4.36666666666667, 
    2.56666666666667, 0, 0.216666666666667, 0.766666666666667, 
    1.66666666666667, 0, 4.11666666666667, 0.483333333333333, 
    1.35, 0.45, 2.53333333333333, 2.01666666666667, 4.4, 0.75, 
    1.4, 2.96666666666667, 4.18333333333333, 8.56666666666667, 
    7.7, 1.8, 8.51666666666667, 3.2, 0.05, 8.45, 0, 0.883333333333333, 
    0, 0.383333333333333, 0, 1.83333333333333, 4.9, 8.36666666666667, 
    5.78333333333333, 3.31666666666667, 5.4, 0.166666666666667, 
    0.4), Variable_10 = c(1.7, 0, 0, 0, 0, 0, 0, 1.3, 0.225, 
    0, 0.15, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 2.975, 1.5, 0, 0.925, 0, 0.425, 0, 0, 
    0, 0, 0, 0.675, 0, 0, 0.125, 0.4, 0, 0.05, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0.475, 0.425, 0, 0.225, 0.375, 0, 0, 1.175, 0, 
    0.85, 0.7, 0.375, 0, 1.55, 0.1, 0, 0.475, 0.35, 0, 0, 0, 
    0, 0.175, 1.675, 0.075, 0, 3.325, 0, 0.8, 0.125, 0, 1.35, 
    0, 0, 0, 0, 0, 0, 0), Variable_11 = c(0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    1, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0), Variable_12 = c(0, 
    0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 
    1, 1, 1, 1), Variable_13 = c(0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 
    0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0)), row.names = c(NA, 
100L), class = "data.frame")

我认为这是期望的输出

formula <- as.formula(paste0("Produkt_A ~ weekday + ", paste0("Variable_", 1:13, collapse="+")) )
lapply(77:(nrow(data)-7), function(x){
    cof <- coef(fit<-lm(formula, data=data[1:77 + (x-77),]))
    if(any(is.na(cof))) fit <- lm(paste0("Produkt_",l," ~ ", paste0(names(cof)[!is.na(cof)][-1], collapse="+")), data=data[1:77 + (x-77),])
    predict(fit, data[1:7+x, ]) 
})

输出

[[1]]
      78       79       80       81       82       83       84 
175.6231 187.2455 172.6803 198.4860 196.4347 182.1002 176.8268 

[[2]]
      79       80       81       82       83       84       85 
190.0454 177.9412 198.1522 195.6015 179.8084 172.5813 162.7283 

[[3]]
      80       81       82       83       84       85       86 
180.2934 199.5343 197.2900 179.7369 173.6123 164.2395 197.3890 

如果您想增加一周,请将 77:(nrow(data)-7) 更改为 seq(77,nrow(data)-7, 7)

输出

[[1]]
      78       79       80       81       82       83       84 
175.6231 187.2455 172.6803 198.4860 196.4347 182.1002 176.8268 

[[2]]
      85       86       87       88       89       90       91 
165.3612 202.1819 202.9133 192.1088 196.2086 190.3211 192.5323 

[[3]]
      92       93       94       95       96       97       98 
190.0432 234.1672 240.5036 221.9270 199.6451 206.9269 225.3737 

此外,我认为您希望 apply 所有产品都使用相同的代码,如果是这样的话,以下代码将给出一个命名列表,其中每个元素都包含对该产品的预测:

sapply(LETTERS[1:6], function(l){
  formula <- as.formula(paste0("Produkt_",l,  " ~ weekday + ", paste0("Variable_", 1:13, collapse="+")) )
  unlist(lapply(seq(77,nrow(data)-7, 7), function(x){
    cof <- coef(fit<-lm(formula, data=data[1:77 + (x-77),]))
    if(any(is.na(cof))) fit <- lm(paste0("Produkt_",l," ~ weekday + ", paste0(names(cof)[!is.na(cof)][-1], collapse="+")), data=data[1:77 + (x-77),])
    predict(fit, data[1:7+x, ]) 
  }), use.names=F)
}) -> l
as.data.frame(l) -> l
names(l) <- paste0("Produkt_",LETTERS[1:6][-2])

输出

   Produkt_A Produkt_B Produkt_C Produkt_D Produkt_E Produkt_F
1   183.1617  255.8523  34.78719  9.040423  19.85345  72.48134
2   179.0516  236.6205  33.66128 14.456406  15.23111  52.14860
3   169.4564  233.5267  36.56796 11.893548  18.04682  47.84604
4   195.5562  237.8086  39.53323 12.611249  18.62263  57.85943
5   195.7860  244.9322  42.66896 10.579288  20.81832  64.33085
6   185.1508  244.6651  44.30452 11.109312  21.15966  66.57021
7   180.0834  238.5539  42.82646  9.011723  23.64313  68.25384
8   172.3084  236.5883  33.38472  6.052889  23.20801  60.28078
9   199.3014  251.1623  35.95758 17.642626  15.75082  49.16527
10  199.2620  244.1736  36.81896 20.277373  15.65039  57.63127
11  185.4162  232.4378  33.42248  9.914847  14.76501  58.14915
12  198.1636  250.0573  38.33021 17.008143  17.60963  53.38972
13  192.1136  217.5651  30.07103 13.590327  18.93781  57.78008
14  196.7885  222.4964  31.21988 16.192406  23.95876  55.00223
15  195.3891  229.2507  31.85575 17.436000  29.62023  51.42169
16  231.2512  236.6823  29.52290 22.564247  21.73221  49.89134
17  238.8464  254.4130  31.74025 23.147904  27.33184  53.82207
18  220.2332  240.9582  32.17718 22.994808  24.63406  56.82193
19  200.0848  230.6290  33.54214 21.710842  20.59998  54.37489
20  209.8458  245.5775  38.18210 22.251512  22.91061  55.50162
21  229.8341  259.3681  37.87675 20.772142  29.79006  65.34059