Wie man einen Strukturbruch in Zeitreihen erkennt und quantifiziert (R)


10

Hintergrund

Also zuerst einige Hintergrundinformationen, um den Grad des Verständnisses einzuschätzen, den ich haben könnte. Derzeit ist die Statistik ein vernachlässigbarer Teil davon, obwohl ich ein grundlegendes Verständnis habe. Meine aktuelle Frage lässt mich bezweifeln, was ich in der Praxis tun kann / sollte. Immer mehr online zu lesen und in der Literatur scheint kontraproduktiv zu sein.

Was versuche ich zu erreichen?

Für meine Diplomarbeit bin ich in ein Unternehmen eingetreten und die allgemeine Frage, die ich dort zu beantworten versuche, ist im Wesentlichen, wie ein Vorhersageprozess durch die Implementierung eines bestimmten Systems beeinflusst wird (was sich auf die für den Vorhersageprozess verwendeten Daten auswirkt).

Das gewünschte Ergebnis ist ein Verständnis von:

  1. Gibt es eine spürbare Veränderung? (zB statistischer Nachweis)
  2. Wie groß ist die Veränderung? (in Mittelwert und Varianz)
  3. Welche Faktoren sind in diesem Vorhersageprozess wichtig (auch wie sich der Einfluss von Faktoren vor> nach der Pause ändert)

Um 1 und 2 zu beantworten, erhielt ich historische Daten in Form eines Zeitreihenobjekts (und mehr, aber zu diesem Zeitpunkt irrelevant). Die Software , die ich verwenden ist R .

Daten

Die Daten umfassen eine gewichtete Punktzahl für jeden Tag (2,5 Jahre), die angibt, wie schlecht der Vorhersageprozess durchgeführt wurde (Abweichung vom tatsächlichen Ereignis). Dieses eine Zeitreihenobjekt enthält die gewichtete Bewertung für die Vorhersagen, die von einer Stunde vor bis zum tatsächlichen Auftreten des Ereignisses (1-Stunden-Intervall) für diese 2,5 Jahre aufgetreten sind (daher hat jeder Tag eine gewichtete Bewertung für dieses Intervall). Ebenso gibt es mehrere Zeitreihen, die für andere Intervalle erstellt wurden (z. B. 1-2, 2-3 Stunden usw.).

myts1 <- structure(c(412.028462047, 468.938224875, 372.353242472, 662.26844965, 
                 526.872020535, 396.434818388, 515.597528222, 536.940884418, 642.878650146, 
                 458.935314286, 544.096691918, 544.378838523, 486.854043968, 478.952935122, 
                 533.171083451, 507.543369365, 475.992539251, 411.626822157, 574.256785085, 
                 489.424743512, 558.03917366, 488.892234577, 1081.570101272, 488.410996801, 
                 420.058151274, 548.43547725, 759.563191992, 699.857042552, 505.546581256, 
                 2399.735167563, 959.058553387, 565.776425823, 794.327364085, 
                 1060.096712241, 636.011672603, 592.842508666, 643.576323635, 
                 639.649884944, 420.788373053, 506.948276856, 503.484363746, 466.642585817, 
                 554.521681602, 578.44355769, 589.29487224, 636.837396631, 647.548662447, 
                 740.222655163, 391.545826142, 537.551842222, 908.940523615, 590.446686171, 
                 543.002925217, 1406.486794264, 1007.596435757, 617.098818856, 
                 633.848676718, 576.040175894, 881.49475483, 687.276105325, 628.977801859, 
                 1398.136047241, 749.644445942, 639.958039461, 649.265606673, 
                 645.57852203, 577.862446744, 663.218073256, 593.034544803, 672.096591437, 
                 544.776355324, 720.242877214, 824.963939263, 596.581822515, 885.215989867, 
                 693.456405627, 552.170633931, 618.855329732, 1030.291011295, 
                 615.889921256, 799.498196448, 570.398558528, 680.670975027, 563.404802085, 
                 494.790365745, 756.684436338, 523.051238729, 535.502475619, 520.8344231, 
                 623.971011973, 928.274580287, 639.702434094, 583.234364572, 623.144865566, 
                 673.342687695, 567.501447619, 602.473664361, 655.181508321, 593.662768316, 
                 617.830786992, 652.461315007, 496.505155747, 550.24687917, 588.952116381, 
                 456.603281447, 425.963966309, 454.729462342, 487.22846023, 613.269432488, 
                 474.916140657, 505.93051487, 536.401546008, 555.824475073, 509.429036303, 
                 632.232746263, 677.102831732, 506.605957979, 701.99882145, 499.770942819, 
                 555.599224002, 557.634152694, 448.693828549, 661.921921922, 447.00540349, 
                 561.194112634, 590.797954608, 590.739061378, 445.949400588, 725.589882976, 
                 480.650749378, 587.03144903, 483.054524693, 428.813155209, 540.609606719, 
                 495.756149832, 409.713220791, 492.43287131, 618.492643291, 723.203623076, 
                 461.433833742, 420.414959481, 480.501175081, 564.955582744, 453.0704893, 
                 506.711353939, 521.12661934, 487.509966405, 483.442305774, 506.932771141, 
                 442.871555249, 873.285819221, 1201.628963682, 1392.479592817, 
                 693.292446258, 629.477998542, 660.777526646, 414.376675251, 475.517946081, 
                 501.626384564, 470.216781646, 444.195433559, 697.258566625, 546.966755779, 
                 428.945521943, 388.203080434, 579.759476551, 548.433130604, 453.950530959, 
                 460.613845164, 534.329569431, 560.663080722, 660.799405665, 432.3134958, 
                 569.59842379, 518.195281689, 650.007266105, 521.642137647, 442.763872575, 
                 687.470213886, 951.651918891, 589.611971045, 493.203713291, 431.966577408, 
                 616.912296912, 685.80916291, 502.518373775, 595.630289879, 563.104035749, 
                 523.383707347, 532.042896625, 470.949823756, 603.408124923, 615.301428799, 
                 708.26541245, 725.853182875, 705.777543119, 530.351781147, 698.828825921, 
                 462.173187592, 366.411986505, 848.613888761, 502.940599188, 456.044881766, 
                 605.321231272, 629.861109863, 431.130428123, 509.672767868, 457.598828697, 
                 553.932034119, 610.181457495, 581.59017099, 540.788638119, 705.226962669, 
                 610.670142045, 566.392016015, 611.086310256, 603.256299175, 766.372982953, 
                 801.921868916, 761.708239486, 580.712445849, 575.53616943, 540.066255921, 
                 608.133122153, 735.063468208, 637.091441112, 778.874033589, 689.350099602, 
                 1003.219851026, 624.107808848, 635.887051641, 420.915060155, 
                 511.460563095, 817.08209288, 603.089908306, 772.6493477, 797.148459813, 
                 588.255963229, 499.050860875, 502.059987, 565.524637543, 1663.182976069, 
                 2281.49950544, 1442.687607103, 1024.355834401, 899.519857882, 
                 988.585993922, 612.834835776, 641.686600038, 717.951451466, 746.441686309, 
                 1147.770724052, 596.279691286, 932.861076555, 497.228997645, 
                 764.895725484, 659.054003787, 1148.227820587, 1403.462969143, 
                 624.733620842, 803.199038618, 839.637983048, 1278.286165347, 
                 774.363457936, 662.767213211, 627.251799204, 650.180035442, 1296.405174964, 
                 662.928010153, 523.095967567, 620.727894789, 650.876097695, 509.534317267, 
                 479.922326477, 613.743251306, 430.117763379, 1825.108688714, 
                 744.708270099, 455.818978039, 370.908485795, 771.317824437, 688.219350724, 
                 468.16351523, 791.649828808, 666.360829114, 1427.809117119, 2861.163543428, 
                 1090.887950582, 621.942045727, 397.381382335, 397.697308586, 
                 494.441558442, 474.314526966, 888.812606506, 476.031636688, 651.907747324, 
                 389.95997873, 680.776897408, 1499.093314237, 1077.571595752, 
                 765.690897368, 571.545469449, 590.64855754, 492.371592484, 580.811781306, 
                 873.628734717, 602.958435426, 549.877214337, 546.66120979, 394.75285753, 
                 520.238244635, 517.217468365, 903.057976974, 528.477241796, 378.958677302, 
                 491.589659729, 548.665964908, 453.512746452, 481.081050678, 491.499714029, 
                 628.539705456, 672.540312912, 1686.825394554, 1367.577856001, 
                 600.373039737, 417.511405109, 511.75535978, 440.677427555, 493.430816323, 
                 533.025975459, 547.429120615, 432.168874608, 555.098163047, 521.644301834, 
                 667.159371501, 421.591007887, 757.218378664, 615.572602597, 433.961482908, 
                 528.813953729, 633.228715271, 519.648748842, 437.342815473, 551.877832301, 
                 703.377801948, 536.673383258, 658.597165739, 1449.850501569, 
                 615.204142853, 499.197033946, 853.692014263, 490.213941347, 812.68824521, 
                 521.364349414, 818.757704456, 848.59674442, 646.819554339, 471.051626838, 
                 598.326620222, 782.58569568, 754.880939869, 636.572395084, 686.076138643, 
                 530.158582782, 524.696479569, 525.441231521, 593.834663615, 415.830854949, 
                 590.135594493, 591.019407595, 503.321975981, 515.371205208, 494.805384342, 
                 567.397190671, 482.180658052, 724.099533838, 791.107121538, 564.673191002, 
                 572.551388184, 729.46937136, 943.538757014, 519.051645932, 994.190842696, 
                 866.69659257, 610.021553913, 547.791568399, 578.854543644, 684.826681706, 
                 815.179238308, 617.050464226, 623.818649573, 537.163825262, 529.850027242, 
                 926.531531345, 588.578930644, 457.329084489, 380.160216157, 494.287689357, 
                 463.885244047, 451.611520014, 762.508948042, 773.74942889, 1642.691010358, 
                 555.226392541, 659.433830806, 454.348720108, 388.274823265, 650.63824747, 
                 632.327400443, 584.93699748, 484.815917524, 733.153950316, 471.349864174, 
                 418.755413722, 547.060192029, 742.028289483, 521.119798289, 1176.207996336, 
                 524.730544122, 430.009783422, 558.479383664, 574.162550914, 526.08247269, 
                 611.207728202, 551.202548069, 472.046973518, 517.490179087, 556.135143079, 
                 628.084374004, 413.677676623, 439.814082201, 1011.775306843, 
                 684.443831473, 546.421742134, 578.853727684, 517.693483714, 638.112468944, 
                 631.531739664, 501.897019514, 661.11860926, 521.695715961, 474.403897254, 
                 463.294645328, 559.583511974, 531.953658919, 740.412596176, 534.815607516, 
                 462.329096628, 637.941748843, 702.69170843, 471.390065606, 590.458408612, 
                 617.006573387, 565.411288964, 472.986933034, 567.745850996, 596.925622448, 
                 474.068038429, 653.56453828, 612.893376781, 711.545758298, 527.783301631, 
                 478.530081662, 519.751192408, 536.550807025, 443.437342694, 587.403769673, 
                 601.15805729, 556.497167238, 374.228230116, 477.027420471, 494.984999444, 
                 879.314339401, 704.997313272, 626.546803934, 653.296523326, 435.581408863, 
                 633.048339362, 403.889616794, 488.214190958, 575.631003993, 430.984422675, 
                 437.83561603, 522.277281965, 475.602597701, 527.12160277, 944.139469794, 
                 474.50403295, 579.478722386, 459.088134733, 503.246692031, 610.022771263, 
                 446.143895372, 625.022916127, 517.435543013, 891.375454252, 555.864115385, 
                 474.764739145, 921.714956231, 645.896256587, 1536.221634415, 
                 816.575921465, 596.491670621, 503.56011064, 720.743463226, 905.835642175, 
                 1360.481537034, 653.224092421, 633.505228314, 546.064475635, 
                 482.454025258, 962.715357696, 618.202090733, 803.895156435, 668.047995992, 
                 594.566585046, 839.597813143, 457.375793588, 631.863607862, 475.266615122, 
                 664.569635822, 481.886574644, 1614.962054217, 869.212340286, 
                 501.400781534, 478.670649186, 521.824073342, 684.720851031, 597.124676952, 
                 605.903108456, 491.358096619, 430.812042311, 388.350092055, 488.132638097, 
                 413.131448595, 391.891460495, 430.760685279, 731.99097305, 382.200799877, 
                 511.48361093, 560.620999712, 528.369543055, 536.348770159, 721.297750609, 
                 491.321646454, 509.521489714, 561.318889907, 553.24041301, 459.235996646, 
                 354.741174128, 339.775552834, 432.548724483, 438.672630955, 508.177204773, 
                 496.199702536, 643.867549669, 611.460979278, 861.190516859, 662.56052508, 
                 524.398593443, 529.585928069, 607.575374022, 495.001029442, 700.371352785, 
                 794.753142167, 466.792229932, 435.426320832, 450.903747896, 622.562955777, 
                 1562.215153595, 725.069249874, 612.357398912, 418.579228487, 
                 381.667629501, 528.173266471, 687.876352966, 655.845568131, 423.589678964, 
                 612.545707971, 951.362478322, 1800.162370822, 600.672989388, 
                 531.048286916, 527.565406977, 402.380659606, 607.699770367, 1486.296473731, 
                 686.560841226, 4176.136413427, 3086.067140966, 1872.815975088, 
                 771.413460362, 843.791946967, 652.825527602, 642.443948966, 726.208291336, 
                 641.092848676, 488.237988698, 606.154989706, 1426.027951807, 
                 959.347533388, 649.856202928, 527.580884911, 400.545393834, 568.268813107, 
                 631.257023117, 515.755741256, 682.375587555, 583.855170876, 506.146152757, 
                 517.095094378, 563.415777949, 801.015579658, 649.56360904, 732.097267107, 
                 456.626323752, 499.170138889, 549.393587002, 556.589070013, 590.180621262, 
                 667.709332802, 421.738377899, 661.178862228, 570.833727593, 631.139001868, 
                 545.835879493, 559.918523671, 1364.379214546, 985.777069008, 
                 644.949427255, 493.066294248, 476.852498787, 379.716401582, 715.333935018, 
                 459.326945313, 621.665546323, 476.317803131, 519.803138696, 409.241665463, 
                 465.206511176, 594.689036224, 443.841857849, 399.830019307, 570.65982956, 
                 516.562325113, 381.909941529, 532.130831616, 650.329631588, 661.055942562, 
                 1136.942413908, 508.543555485, 976.852889691, 1461.16921717, 
                 646.062436059, 593.093537367, 624.839875084, 453.453385269, 584.633165187, 
                 507.616009915, 516.857276979, 434.651983821, 572.755844368, 454.901132196, 
                 707.698546138, 760.341584614, 449.252091224, 623.217222998, 625.061550699, 
                 2030.045687713, 1582.036383383, 677.325281969, 571.588930686, 
                 493.235172445, 556.291968991, 424.360693057, 436.333980583, 484.105667103, 
                 505.231040152, 378.767240615, 495.943549377, 321.856525703, 363.651848067, 
                 557.201599565, 603.658298878, 558.958198405, 789.717963533, 480.370977054, 
                 509.366153138, 467.526623793, 576.508422894, 661.322171003, 520.804998847, 
                 342.109381368, 473.512224982, 984.139466992, 487.586712759, 605.914245454, 
                 459.190981983, 678.728907858, 342.511103348, 436.746013478, 520.896987467, 
                 818.078350515, 527.494249096, 713.52499017, 610.365469264, 462.965548015, 
                 362.931986459, 810.610193032, 393.455578799, 536.720944152, 551.490260933, 
                 464.369987186, 275.832746918, 513.723009815, 491.945195301, 438.865839297, 
                 257.252871794, 615.513481211, 420.507536576, 392.035094971, 392.963333027, 
                 435.276624468, 253.431425091, 592.873595776, 500.615067792, 503.491101855, 
                 475.352827724, 1135.11762886, 723.666909467, 712.259187274, 559.738346197, 
                 490.958692763, 435.998397207, 729.341315271, 406.369683231, 632.626098862, 
                 565.318329487, 394.031553179, 356.627786519, 374.075606064, 336.505546227, 
                 393.168901965, 480.183256037, 573.840777708, 187.680483645, 170.978544639, 
                 209.134883957, 193.039610198, 224.362544607, 210.946012575, 166.006351727, 
                 201.500604051, 160.008039339, 229.847327915, 193.655724693, 255.575881835, 
                 207.0547762, 186.835573846, 247.776981217, 574.489201771, 602.683083111, 
                 202.592131296, 205.827635803, 279.139480224, 367.898232724, 245.75114848, 
                 304.004111775, 231.706217872, 159.750034155, 207.584399879, 239.854118732, 
                 212.711257914, 181.755353255, 225.98761652, 206.570825973, 193.940523176, 
                 203.851963746, 170.700301226, 226.41517367, 183.87542452, 206.640800387, 
                 218.953856594, 176.127748987, 168.205878516, 201.718224491, 171.421791143, 
                 193.065350731, 235.118975292, 217.002358158, 197.563916607, 219.266588546, 
                 168.044251777, 182.1752633, 172.514392523, 192.250197416, 171.023249603, 
                 151.848998035, 151.678097242, 173.28609604, 194.852548067, 178.742929426, 
                 180.591580951, 189.241987711, 206.960325123, 207.639468123, 307.389246296, 
                 197.203559504, 201.143394951, 313.861245405, 215.87226561, 218.500147257, 
                 201.993836847, 204.461813487, 180.04803872, 305.301279156, 214.880173012, 
                 250.930811019, 284.90370816, 212.518096229, 195.034955147, 190.236951118, 
                 257.088555132, 189.502428671, 239.652450054, 243.53269907, 289.820554649, 
                 249.011846483, 279.393483142, 194.006529415, 214.59905786, 247.746491522, 
                 224.723467084, 191.086994265, 271.654470268, 183.455652269, 327.307813653, 
                 149.721791725, 170.538132352, 192.954323882, 172.459631548, 199.829129152, 
                 163.257916856, 179.33550074, 207.618752518, 191.969484656, 191.506188821, 
                 176.446694609, 194.818608621, 167.891653012, 167.000377869, 201.869893803, 
                 183.895614224, 148.510174938, 157.27033831, 166.573696008, 309.557485177, 
                 595.559287832, 232.318746483, 188.295593138, 157.721093739, 177.753625321, 
                 214.844940799, 226.812056373, 213.910815993, 188.973729833, 243.306529363, 
                 202.733401293, 197.296870477, 182.523989567, 170.428625204, 172.593507241, 
                 151.926342178, 283.415923815, 163.456408737, 172.273699114, 159.382452668, 
                 182.158974043, 156.532047405, 182.768725504, 239.318216814, 151.579013694, 
                 148.216885776, 241.346766195, 257.110058666, 147.931152011, 186.2508302, 
                 197.379372605, 155.69798218, 147.370235658, 180.961415272, 168.372900875, 
                 297.9454882, 177.640856836, 170.535749604, 166.211309731, 178.463064513, 
                 175.035906056, 179.971897406, 162.858094293, 164.056675362, 250.151933362, 
                 195.49943188, 175.281720263, 182.392087534, 144.341091392, 241.466298465, 
                 184.806150673, 167.932448156, 150.621075732, 178.510315062, 209.913152992, 
                 222.798716921, 153.536476868, 190.326281004, 173.708412622, 148.075945402, 
                 149.147879365, 181.5851776, 141.012604897, 157.982751461, 159.364653673, 
                 151.777006477, 191.065323099, 139.076429662, 172.452344359, 182.482693518, 
                 287.424045314, 169.327943406, 298.970852166, 145.238645275, 175.211717467, 
                 165.116950464, 187.006564993, 160.959119092, 198.552333833, 170.406040157, 
                 162.10770001, 146.356131036, 170.336552623, 163.095730104, 155.192077125, 
                 217.182324478, 231.270198833, 256.905250226, 184.59676245, 175.557146633, 
                 164.246298131, 221.695058452, 197.911691457, 188.427830442, 259.361745153, 
                 164.243672823, 190.67188784, 182.331604811, 190.352555581, 248.738493256, 
                 196.854564795, 164.974185334, 332.650385373, 169.081552611, 193.578840033, 
                 192.166911863, 214.174943222, 271.287900593, 224.675083031, 171.950208574, 
                 173.867031268, 139.260432794, 177.012491325, 171.268066406, 132.714578168, 
                 197.224558817, 152.561299656, 143.415562042), .Tsp = c(2016.3306010929, 
                                                                        2018.99909424358, 365), class = "ts")

Prozess bis jetzt

Jetzt hatte ich verstanden, dass ich für Frage 1 einen Test für einen Strukturbruch anwenden kann, um festzustellen, ob und wann der Bruch aufgetreten ist (mit einem bekannten Bruchdatum). Dafür verwende ich das strucchange-Paket in R und verwende die Haltepunkte Funktion.

Der CUSUM- Test (für unbekanntes Pausendatum) wurde jedoch auch von meinem Vorgesetzten empfohlen. Unsicher, was hier am besten ist?

BEARBEITEN:

Ich sehe, dass Andrews supF-Test den Chow-Test für alle möglichen Pausen durchführt. Lehnt dann ab, wenn das Maximum der F- (oder Chow-) Statistik zu groß wird. (Gefunden - Chow-Test für Zeitreihen durchführen )

Code zum Abrufen eines Unterbrechungsdatums mithilfe von struccchange

library(strucchange)
test2 <- Fstats(myts1~1) #Gets a sequence of fstatistics for all possible 
# break points within the middle 70% of myts1
myts1.fs <- test2$Fstats #These are the fstats
bp.myts1 <- breakpoints(myts1~1) #Gets the breakpoint based on the F-stats
plot(myts1) #plots the series myts1
lines(bp.myts1) #plots the break date implied by the sup F test
bd.myts1 <- breakdates(bp.myts1) #Obtains the implied break data (2018.35, 
# referring to day 128 (0.35*365 = day number))
sctest(test2) #Obtains a p-value for the implied breakpoint
ci.myts1 <- confint(bp.myts1) #95% CI for the location break date
plot(myts1)
lines(ci.myts1) #This shows the interval around the estimated break date

Auf diese Weise kann ich ein Unterbrechungsdatum und einen 95% -KI erhalten , der mir mitteilt, dass eine Unterbrechung aufgetreten ist. Diese Unterbrechung ist jedoch im Mittel, da die Formel myts1 ~ 1 lautet und eine Regression auf eine Konstante widerspiegelt. Wenn ich das richtig verstehe, sind die Residuen die erniedrigten Werte von myts1 und daher sehe ich eine Änderung des Mittelwerts. Das Diagramm visualisiert die Daten mit dem Unterbrechungsdatum und einem Konfidenzintervall.

Handlung

Fragen

F0: Bevor ich mit dieser Analyse begann, habe ich mich gefragt, ob ich mir Gedanken darüber machen sollte, wie diese Vorhersagefehler für bestimmte Merkmale verteilt und korrekt sind. Abgesehen von der auftretenden Unterbrechung und einigen Ausreißern scheint dies ein ziemlich stabiler Prozess zu sein.

Q1: Wie kann ich eine Änderung der Varianz berechnen ? ? Ich kann mir vorstellen, dass eine Änderung der Varianz auch zu einem anderen Zeitpunkt als dem Mittelwert auftreten könnte. Ist es richtig zu sagen, dass eine Unterbrechung der Varianz auch eine Unterbrechung des Mittelwerts ist, aber dann eine Unterbrechung des Mittelwerts der quadratisch erniedrigten Reihe? Dazu gibt es nicht viel zu finden.

F2: Wie kann ich diese Änderung quantifizieren, wenn ich jetzt genügend Beweise für eine Unterbrechung des Mittelwerts und der Varianz erhalten habe? zB hat sich die Varianz nach dem Pausendatum von X nach Y verschoben? Ist es so einfach, die Zeitreihen entlang des Unterbrechungsdatums aufzuteilen und Statistiken über beide Teile zusammenzufassen?

F3: Wenn ich die Unterbrechungsanalyse für andere Zeitintervalle erneut durchführe, wie vergleiche ich dann, wie sich die Änderung des Mittelwerts und der Varianz für die verschiedenen Vorhersagehorizonte entwickelt? Ist dies noch einmal eine einfache Zusammenfassung der Statistiken oder gibt es einen Test, der beurteilt, wie unterschiedlich die Fehler sind?

Zusatz Q3: ##

Bei der Erstellung dieser Zeitreihen werden Vorhersagefehler bis zu 10 Stunden vor dem Auftreten des vorhergesagten Ereignisses berücksichtigt.

Am Beispiel eines Tages: Vorhersagen werden in 1-Stunden-Bins aufgeteilt (erstellt 10 Bins). In jedem Bin werden dann alle Vorhersagen zu einem gewichteten Durchschnittswert zusammengefasst (basierend auf einer anderen Variablen gewogen). Dies bedeutet, dass es für jeden Tag eine gewichtete Punktzahl pro Behälter gibt (insgesamt 10).

Die Übersetzung in das Zeitreihenobjekt, das ich in diesem Beitrag bereitgestellt habe (myts1, das die letzte Stunde abdeckt), ergibt Folgendes: Eine Zeitreihe, in der jeder Punkt dem gewichteten Durchschnittswert für diesen Tag im angegebenen Zeitintervall entspricht. Im Wesentlichen enthält jeder Behälter 975 separate Tage mit einem durchschnittlichen gewichteten Wert für jeden (rein historischen).

Meine Gedanken zu diesem Teil: Ich habe ein Bild hinzugefügt, das 9 von 10 Behältern enthält, was deutlich zeigt, dass die Unterbrechung in der Zeit weniger auffällig wird. Angesichts dieser 10 Zeitreihen führe ich den "Score-CUSUM" -Test (Mittelwert / Varianz) für jede erneut durch. Von dort kann bestimmt werden, zu welcher Stunde die Wirkung dieses Systems "spürbar" wird (wie bei der absoluten Änderung des Mittelwerts / der Varianz) und aus betrieblicher Sicht nutzbar ist.

Geben Sie hier die Bildbeschreibung ein

F3.1 Ist es sinnvoll, die Zeitreihen auf diese Weise zu analysieren? Ich gehe davon aus, dass es keine Rolle spielt, dass ich den SCORE-CUSUM-Test 10 Mal erneut ausführe.
F3.1 Wie gehe ich mit einem 95% -KI um, der sich über 6 Monate erstreckt, wenn ich die Pause segmentiere? (gefunden in Behältern 4 Stunden außerhalb)
Q3.2 Sollte ich Bedenken haben, die verschiedenen Modelle (Fehler) über diese 10 Zeitintervalle hinweg zu vergleichen?

Ich hoffe meine Erklärung reicht aus, kann bei Bedarf weitere Informationen liefern.

BEARBEITEN: Ich habe eine CSV-Datei (getrennt durch;) im Spaltenformat hinzugefügt. Dies schließt auch die Anzahl der Ereignisse ein, die jeden Tag aufgetreten sind. Es scheint jedoch keine Korrelation beim Zeichnen zu geben. Link: https://www.dropbox.com/s/5pilmn43bps9ss4/Data.csv?dl=0

EDIT2: Sollte hinzufügen, dass die eigentliche Implementierung um stattgefunden hat Zeitpunkt 2018 Tag 136 in den Zeitreihen erfolgte.

EDIT3: Das zweite Vorhersageintervall von Stunde 1 bis 2 als TS-Objekt in R auf Pastebin hinzugefügt: https://pastebin.com/50sb4RtP (Einschränkungen in den Zeichen des Hauptpostens)


Vielleicht in Garch-Modelle schauen, die im Finanzwesen verwendet werden (oder wie mir gesagt wird), um dynamische Varianz zu modellieren (und vorherzusagen)? Durchsuchen Sie diese Seite, es ist einen Versuch wert!
kjetil b halvorsen

Ein struktureller Bruch in Zeitreihen kann auf verschiedene Arten auftreten. 1. Zeitpunkte, an denen sich das implizite Abfangen des Modells ändert. 2. Zeitpunkte, an denen sich der Trend ändert. 3. Zeitpunkte, an denen sich einer oder mehrere der Arma-Parameter ändern. 4. Zeitpunkte, an denen sich die Fehlervarianz deterministisch ändert 5. Es kann einen Wochentag, einen Wochentag, eine Woche des Monats, einen Monat des Jahres und Auswirkungen auf Feiertage geben usw., für die möglicherweise eine Kontrolle erforderlich ist. SimpLe-Chow-Tests für eine mittlere Verschiebung sind ziemlich naiv. Wenn Sie Ihre Daten
spaltenweise

@kjetilbhalvorsen Ich habe gesehen, dass diese Modelle in finanziellen Situationen vorgeschlagen werden, aber ich war nach einer Lektüre und Diskussion mit meinem akademischen Betreuer nicht davon überzeugt. Danke für den Vorschlag!
Bas

@IrishStat hat sich gefragt, ob es auch saisonale Effekte gibt (werde dies heute untersuchen und weitere Informationen hinzufügen, sobald ich sie finde). Es wurde ein Link zu einer CSV-Datei mit Dropbox im Hauptbeitrag hinzugefügt.
Bas

Antworten:


11

Fragen

F0: Die Zeitreihe sieht eher rechtwinklig aus und die Pegelverschiebung geht mit einer Skalenverschiebung einher. Daher würde ich die Zeitreihen eher in Protokollen als in Ebenen analysieren, dh mit multiplikativen statt additiven Fehlern. In Protokollen scheint ein AR (1) -Modell in jedem Segment recht gut zu funktionieren. Siehe zB acf()und pacf()vor und nach der Pause.

pacf(log(window(myts1, end = c(2018, 136))))
pacf(log(window(myts1, start = c(2018, 137))))

Q1: Für eine Zeitreihe ohne Unterbrechungen im Mittelwert können Sie einfach die quadratischen (oder absoluten) Residuen verwenden und erneut einen Test für Pegelverschiebungen durchführen. Alternativ können Sie Tests und Haltepunktschätzungen basierend auf einem Maximum-Likelihood-Modell ausführen, bei dem die Fehlervarianz neben den Regressionskoeffizienten ein weiterer Modellparameter ist. Dies ist Zeileis et al. (2010, doi: 10.1016 / j.csda.2009.12.005 ). Die entsprechenden Score-basierten CUSUM-Tests sind ebenfalls verfügbar strucchange, die Haltepunktschätzung ist jedoch verfügbar fxregime. In Abwesenheit von Regressoren, wenn nur nach Änderungen des Mittelwerts und der Varianz gesucht wird, changepointbietet das R-Paket schließlich auch dedizierte Funktionen.

Trotzdem scheint ein Ansatz der kleinsten Quadrate (Behandlung der Varianz als Störparameter) für die von Ihnen veröffentlichten Zeitreihen ausreichend zu sein. Siehe unten.

nn

F3: Ich bin mir nicht ganz sicher, wonach Sie hier suchen. Wenn Sie die Tests nacheinander ausführen möchten, um eingehende Daten zu überwachen, sollten Sie einen formalen Überwachungsansatz verwenden. Dies wird auch in Zeileis et al. (2010).

Analysecode-Schnipsel:

Kombinieren Sie Protokollserien mit ihren Verzögerungen für die nachfolgende Regression.

d <- ts.intersect(y = log(myts1), y1 = lag(log(myts1), -1))

Testen mit supF- und Score-basierten CUSUM-Tests:

fs <- Fstats(y ~ y1, data = d)
plot(fs)
lines(breakpoints(fs))

Fstats

sc <- efp(y ~ y1, data = d, type = "Score-CUSUM")
plot(sc, functional = NULL)

gefp

Dies zeigt, dass sich sowohl der Achsenabschnitt als auch der Autokorrelationskoeffizient zu dem in der ursprünglichen Zeitreihe sichtbaren Zeitpunkt signifikant ändern. Es gibt auch einige Schwankungen in der Varianz, die jedoch bei 5% nicht signifikant sind.

Eine BIC-basierte Datierung findet auch eindeutig diesen einen Haltepunkt:

bp <- breakpoints(y ~ y1, data = d)
coef(bp)
##                       (Intercept)        y1
## 2016(123) - 2018(136)    3.926381 0.3858473
## 2018(137) - 2019(1)      3.778685 0.2845176

Klar, der Mittelwert sinkt aber auch die Autokorrelation leicht. Das in Protokollen angepasste Modell lautet dann:

plot(log(myts1), col = "lightgray", lwd = 2)
lines(fitted(bp))
lines(confint(bp))

Haltepunkte

Das erneute Anpassen des Modells an jedes Segment kann dann erfolgen über:

summary(lm(y ~ y1, data = window(d, end = c(2018, 136))))
## Call:
## lm(formula = y ~ y1, data = window(d, end = c(2018, 136)))
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.73569 -0.18457 -0.04354  0.12042  1.89052 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  3.92638    0.21656   18.13   <2e-16 ***
## y1           0.38585    0.03383   11.40   <2e-16 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2999 on 742 degrees of freedom
## Multiple R-squared:  0.1491, Adjusted R-squared:  0.148 
## F-statistic: 130.1 on 1 and 742 DF,  p-value: < 2.2e-16

 

summary(lm(y ~ y1, data = window(d, start = c(2018, 137))))
## Call:
## lm(formula = y ~ y1, data = window(d, start = c(2018, 137)))
## 
## Residuals:
##      Min       1Q   Median       3Q      Max 
## -0.43663 -0.13953 -0.03408  0.09028  0.99777 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  3.61558    0.33468   10.80  < 2e-16 ***
## y1           0.31567    0.06327    4.99  1.2e-06 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.2195 on 227 degrees of freedom
## Multiple R-squared:  0.09883,    Adjusted R-squared:  0.09486 
## F-statistic:  24.9 on 1 and 227 DF,  p-value: 1.204e-06

Vielen Dank für Ihre ausführliche Antwort. Frage 1: Ich verstehe, dass bei Verwendung der quadratischen Residuen durch erneutes Ausführen des Tests eine Varianzunterbrechung festgestellt wird, jedoch nur ohne Unterbrechungen des Mittelwerts. Ich wurde zu einem Artikel geraten, der sich mit diesem Problem befasst, wenn eine Unterbrechung des Mittelwerts vorliegt. Das Papier schlägt einen speziellen Test vor, jedoch reichen meine Kenntnisse bei der Bewertung des Inhalts nicht aus: tandfonline.com/doi/abs/10.1198/073500103288619269 (Abschnitt 3.1) Daher frage ich mich, ob diese Option untersucht werden sollte, oder ob ich den Weg der Verwendung von beibehalten sollte Score-basiertes CUSUM, wie Sie es skizziert hatten. Q3: Hinzufügen von Klarstellungen im Hauptbeitrag
Bas

1
Mein Eindruck zu Q1 ist, dass die meisten Tests eindeutige Hinweise auf eine Unterbrechung finden. Und angesichts der Unterbrechung können Sie die resultierenden Segmente hinsichtlich ihres Mittelwerts, ihrer Varianz, ihrer Autokorrelation usw. charakterisieren. Re: Q3. Dies klingt in der Tat so, als ob Sie ein "Überwachungs-" oder "sequentielles Testen" -Verfahren wünschen, für das verschiedene Tools unter verschiedenen Bezeichnungen in verschiedenen Communities vorgeschlagen wurden. Die statistische Prozesskontrolle oder Qualitätskontrolle könnte ein weiteres relevantes Etikett sein.
Achim Zeileis

RE Q3: Dies ist sinnvoll und wird auch in Zeileis et al. (2010). Ich werde einen Blick darauf werfen und sehen, wie ich dies anwenden kann, danke.
Bas

Zu F3: Ich habe möglicherweise einige Verwirrung mit meiner Bearbeitung in Bezug auf die Daten selbst verursacht. Ich hatte erwähnt, dass diese aggregierten Fehler für ein bestimmtes Zeitintervall gelten. Zu Recht haben Sie einen sequentiellen Test vorgeschlagen, um eingehende Daten zu überwachen, sobald sie verfügbar sind (Lesen von Strucchange Vignette und Zeileis et al. (2010)). Ich habe Q3 im Hauptbeitrag aktualisiert, was jetzt (nach meinem Verständnis) nicht mit einem sequentiellen Test funktioniert.
Bas

3

Da Sie nicht zu viele Informationen in den ursprünglichen Beitrag einfügen möchten, ist die Antwort hier eine Antwort auf @Achim Zeleis, der diesem Teil folgt:

"Die entsprechenden Score-basierten CUSUM-Tests sind ebenfalls verfügbar, strucchangeaber die Haltepunktschätzung ist in fxregime"

Und Frage 3, die schlecht formuliert war (jetzt im ursprünglichen Beitrag aktualisiert):

"Betreff: Q3. Dies klingt in der Tat so, als ob Sie ein" Überwachungs- "oder" sequentielles Test "-Verfahren wünschen, für das verschiedene Tools unter verschiedenen Bezeichnungen in verschiedenen Communities vorgeschlagen wurden. Statistische Prozesskontrolle oder Qualitätskontrolle könnten ein weiteres relevantes Etikett sein."

Nach dem Lesen der Vignette fxregimeund strucchangeeiner Bruchdatumsschätzung wird erhalten.
https://cran.r-project.org/web/packages/fxregime/vignettes/CNY.pdf
https://cran.r-project.org/web/packages/fxregime/fxregime.pdf

Die mit diesem Teil verbundenen Fragen lauten wie folgt:
1. Wie lässt sich die von fxregime gefundene Schätzung des Einbruchdatums sowohl auf die Änderungen des Abschnitts als auch auf die Autokorrelation übertragen?
2. Ist die Logik / Methode, die ich zum Erhalten dieser Bruchschätzung verwendet habe, fxregimekorrekt?
3. Sollte ich überhaupt mit zwei Unterbrechungsterminen rechnen oder treten beide Änderungen des Abschnitts und der Autokorrelation am selben Tag auf? (Was ist, wenn sich die Varianz zu einem anderen Pausenzeitpunkt ändern würde? Bekomme ich dann zwei bis drei verschiedene Pausenzeiten?
4. Frage 3 des ursprünglichen Beitrags gilt (aktualisiert)
5. Sollte ich mich mit saisonalen Effekten befassen, wie von @Irish vorgeschlagen Stat (gelöschte Antwort)? Ich gehe nur davon aus, wenn ich dies später modellieren möchte, und nicht während des Pausentests.

Analysecode-Schnipsel für myts1:

Kombinieren Sie Protokollserien mit ihren Verzögerungen für die nachfolgende Regression.
d <- ts.intersect(y = log(myts1), y1 = lag(log(myts1), -1))

Den gleichen "Score-CUSUM" -Test machen:

sc <- efp(y ~ y1, data = d, type = "Score-CUSUM")
plot(sc, functional = NULL)

Score-basierter CUSUM-Test für sc

Schätzung des Unterbrechungsdatums unter Verwendung von fxregime:
1. Das LWZ- und das Negative Log-Likelihood-Diagramm zeigen die optimale Anzahl von Unterbrechungen von 1
2. Das Unterbrechungsdatum mit einem Konfidenzintervall zeigt eine Unterbrechung bei Beobachtung 744 an

bd <- fxregimes(y~y1, data = d)
plot(bd) #LWZ and Negative Log-Likelihood plot indicating optimal number of breakpoints is 1 (following vignette information)
ci <- confint(bd, level = 0.95)
ci #show confidence interval for break date(s)

##         Confidence intervals for breakpoints
##         of optimal 2-segment partition: 
##
## Call:
## confint.fxregimes(object = bd, level = 0.95)
##
## Breakpoints at observation number:
##  2.5 % breakpoints 97.5 %
## 1   742         744    746
##
## Corresponding to breakdates:
##     2.5 % breakpoints   97.5 %
## 1 2018.363    2018.369 2018.374

LWZ und Negative Log-Likelihood bd

Dann coefkann ich mit I die Koeffizienten aus jedem Segment erhalten.

coef(bd)
## 
##                                       (Intercept) y1     (Variance)
## 2016.33334081892--2018.36895725728    3.926381 0.3858473 0.08969063
## 2018.37169698331--2018.99909424358    3.778685 0.2845176 0.04813337

Von hier aus würde ich sagen, dass auch die Varianz um einiges gesunken ist, aber Sie sind sich nicht sicher, wie Sie dies bei einer Schätzung des einzelnen Unterbrechungsdatums und einer Nicht-Signifikanz im Score-CUSUM-Test richtig interpretieren sollen?

Teil 2, bezogen auf Frage 3 im OP

Wie im dritten Quartal des (aktualisierten) ursprünglichen Beitrags erwähnt, gibt es mehrere Zeitreihen. Die folgende dient zur Vorhersage des Intervalls von 1 bis 2 Stunden für 975 aufeinanderfolgende Tage, wobei jeder Tag eine gewichtete durchschnittliche Punktzahl aufweist.

Analysecode-Schnipsel für myts2:
In Bezug auf Q0: Neubewertung der Zeitreihen. Wenn man sich auf das zweite Bild im Originalbeitrag bezieht, ist der rechte Versatz immer noch etwas sichtbar, und ein Blick auf das acf()und pacf()vor und nach der Pause zeigt immer noch, dass ein AR (1) -Modell recht gut funktionieren würde (ich denke, ähnliche Grafiken).

pacf(log(window(myts2, end = c(2018, 136))))
pacf(log(window(myts2, start = c(2018, 137))))

Kombinieren Sie erneut Protokollserien mit ihren Verzögerungen für die nachfolgende Regression.
e <- ts.intersect(y = log(myts2), y1 = lag(log(myts2), -1))

"Score-CUSUM" -Test:

sc2 <- efp(y ~ y1, data = e, type = "Score-CUSUM")
plot(sc2, functional = NULL)

Score-basierter CUSUM-Test für sc2 Ähnlich wie bei der ersten Zeitreihe ändern sich der Achsenabschnitt und der Autokorrelationskoeffizient zu dem in der ursprünglichen Zeitreihe sichtbaren Zeitpunkt signifikant. Diesmal ist jedoch auch eine Schwankung in der Varianz sichtbar, die bei 5% signifikant ist und nicht direkt mit dem Zeitpunkt des Abfangens und der Autokorrelation übereinstimmt.

Schätzung des Unterbrechungsdatums unter Verwendung von fxregime:
1. Das LWZ- und das negative Log-Likelihood-Diagramm zeigen die optimale Anzahl von Unterbrechungen von 1 aufgrund des starken Rückgangs der LWZ und des Knicks in der NLL nach dem
Unterbrechungspunkt 1. 2. Das Unterbrechungsdatum mit einem Konfidenzintervall zeigt eine Unterbrechung bei der Beobachtung an 736

d <- fxregimes(y~y1, data = d)
plot(bd) #LWZ and Negative Log-Likelihood plot indicating optimal number of breakpoints is 1 (following vignette information)
ci <- confint(bd, level = 0.95)
ci #show confidence interval for break date(s)
# Confidence intervals for breakpoints  

# of optimal 2-segment partition: 
#   
#   Call:
#   confint.fxregimes(object = bd1, level = 0.95)
# 
# Breakpoints at observation number:
#   2.5 % breakpoints 97.5 %
#   1   730         736    750
# 
# Corresponding to breakdates:
#   2.5 % breakpoints   97.5 %
#   1 2018.331    2018.347 2018.385
# > breakdates(ci)
# 2.5 % breakpoints   97.5 %
#   1 2018.331    2018.347 2018.385

LWZ und negative Log-Wahrscheinlichkeit bd1
Dann coefkann ich mit I die Koeffizienten aus jedem Segment erhalten.

coef(bd1)
#                                       (Intercept) y1     (Variance)
# 2016.33334081892--2018.34703944906    3.853897 0.3985997 0.07925990
# 2018.34977917509--2018.99909424358    3.106076 0.4773263 0.04625951

Um diesen Teil für myts2 (1-2-stündiges Vorhersageintervall) zu bewerten, ist die Varianz um einiges gesunken, aber die Änderung ist im Vergleich zu myts1 geringer. Darüber hinaus ist eine Änderung der Koeffizienten des Abschnitts und der Autokorrelation erkennbar.

Auch hier stellt sich die Frage, wie dies zu interpretieren ist. Wie spiegelt diese Schätzung des einzelnen Unterbrechungsdatums die Unterbrechungen wider, die im Score-CUSUM-Test visuell angezeigt werden?

* hat auch gesehen, dass die refitFunktion zu segmentierten Regressionen der Funktion fxregimes passt, die zum Vergleichen verwendet werden können, wie zuletzt von @Achim Zeileis erwähnt.
Ist es dann möglich, Modelle (Q3) über die Zeitreihen (myts1-10) zu vergleichen? Ich gehe nur davon aus, dass sie ein Modell mit einem Protokoll nicht mit einem Modell vergleichen können, das dies nicht tut.

Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.