การแก้ไขฟูริเยร์ / ตรีโกณมิติ


9

พื้นหลัง

ในกระดาษจาก Epstein (1991): ในการรับค่า climatological รายวันจากค่าเฉลี่ยรายเดือนสูตรและอัลกอริทึมสำหรับการคำนวณการแก้ไขฟูริเยร์สำหรับค่าระยะและแม้กระทั่งระยะจะได้รับ

ในกระดาษเป้าหมายคือการได้รับค่ารายวันจากวิธีการรายเดือนโดยการแก้ไข

กล่าวโดยสรุปคือสันนิษฐานว่าค่ารายวันที่ไม่รู้จักสามารถถูกแสดงด้วยผลรวมของส่วนประกอบฮาร์มอนิก: ในกระดาษ (เวลา) แสดงเป็นเดือน

y(t)=a0+j[ajcos(2πjt/12)+bjsin(2πjt/12)]
t

หลังจากเบี่ยงเบนไปบางส่วนก็แสดงให้เห็นว่าสามารถคำนวณเงื่อนไขได้โดย: โดยที่แทนค่าเฉลี่ยรายเดือนและเดือน

a0=TYT/12aj=[(πj/12)/sin(πj/12)]×T[YTcos(2πjT/12)/6]       j=1,,5bj=[(πj/12)/sin(πj/12)]×T[YTsin(2πjT/12)/6]       j=1,,5a6=[(πj/12)/sin(πj/12)]×T[YTcos(πT)/12]b6=0
YTT

Harzallah (1995)สรุป aproach นี้ดังนี้: "การแก้ไขจะดำเนินการโดยการเพิ่มศูนย์ให้กับค่าสัมประสิทธิ์สเปกตรัมของข้อมูลและโดยการแปลงฟูริเยร์ผกผันกับค่าสัมประสิทธิ์การขยายผลวิธีการเทียบเท่ากับการใช้ตัวกรองสี่เหลี่ยมกับสัมประสิทธิ์ฟูริเยร์ ."


คำถาม

เป้าหมายของฉันคือการใช้วิธีการข้างต้นสำหรับการแก้ไขหมายถึงรายสัปดาห์เพื่อรับข้อมูลรายวัน (ดูคำถามก่อนหน้าของฉัน ) โดยสรุปฉันมีข้อมูลการนับ 835 รายสัปดาห์ (ดูชุดตัวอย่างที่ด้านล่างของคำถาม) มีบางสิ่งที่ฉันไม่เข้าใจก่อนที่ฉันจะสามารถใช้แนวทางที่อธิบายไว้ข้างต้น:

  1. สูตรต้องเปลี่ยนไปอย่างไรสำหรับสถานการณ์ของฉัน (รายสัปดาห์แทนที่จะเป็นค่ารายเดือน)
  2. วิธีการอาจเวลาจะแสดง? ฉันถือว่าtt/835 (หรือ t/nกับจุดข้อมูลทั่วไป), ที่อยู่ถูกต้องหรือไม่n
  3. ทำไมผู้เขียนคำนวณ 7 คำ (เช่น ) ฉันจะต้องพิจารณากี่คำ0j6
  4. ฉันเข้าใจว่าคำถามนี้สามารถแก้ไขได้โดยใช้วิธีการถดถอยและใช้การทำนายการแก้ไข (ขอบคุณนิค) ยังมีบางสิ่งที่ไม่ชัดเจนสำหรับฉัน: ควรรวมเงื่อนไขของการประสานเสียงไว้ในการถดถอยกี่ครั้ง และฉันควรใช้เวลาเท่าไร การถดถอยสามารถทำได้เพื่อให้แน่ใจว่าค่าเฉลี่ยรายสัปดาห์ได้รับการเก็บรักษาไว้อย่างไร (เพราะฉันไม่ต้องการให้พอดีกับข้อมูลที่แน่นอน)

การใช้วิธีการถดถอย (ซึ่งอธิบายไว้ในบทความนี้ด้วย ) ฉันจัดการเพื่อให้พอดีกับข้อมูล (j ในตัวอย่างของฉันจะทำงานผ่าน 1,,417ดังนั้นฉันจึงติดตั้งข้อกำหนด 417) วิธีการนี้สามารถแก้ไขได้อย่างไร - ถ้าเป็นไปได้ - เพื่อให้บรรลุการอนุรักษ์รายสัปดาห์หมายความว่าอย่างไร อาจเป็นเพราะการใช้ปัจจัยการแก้ไขกับแต่ละคำถดถอยหรือไม่

เนื้อเรื่องของฮาร์มอนิกที่พอดีคือ:

พอดีประสานกันที่แน่นอน

แก้ไข

การใช้ชุดสัญญาณและinterp1ฟังก์ชั่นนี่คือสิ่งที่ฉันจัดการโดยใช้ชุดข้อมูลตัวอย่างจากด้านล่าง (ขอบคุณมาก @noumenal) ฉันใช้q=7เพราะเรามีข้อมูลรายสัปดาห์:

# Set up the time scale

daily.ts <- seq(from=as.Date("1995-01-01"), to=as.Date("2010-12-31"), by="day")

# Set up data frame 

ts.frame <- data.frame(daily.ts=daily.ts, wdayno=as.POSIXlt(daily.ts)$wday,
                       yearday = 1:5844,
                       no.influ.cases=NA)

# Add the data from the example dataset called "my.dat"

ts.frame$no.influ.cases[ts.frame$wdayno==3] <- my.dat$case

# Interpolation

case.interp1 <- interp1(x=ts.frame$yearday[!is.na(ts.frame$no.influ.case)],y=(ts.frame$no.influ.cases[!is.na(ts.frame$no.influ.case)]),xi=ts.frame$yearday, method = c("cubic"))

# Plot subset for better interpretation
par(bg="white", cex=1.2, las=1)
plot((ts.frame$no.influ.cases)~ts.frame$yearday, pch=20,
     col=grey(0.4),
     cex=1, las=1,xlim=c(0,400), xlab="Day", ylab="Influenza cases")
lines(case.interp1, col="steelblue", lwd=1)

Cubicinterpo

มีสองประเด็นที่นี่:

  1. เส้นโค้งดูเหมือนจะพอดีกับ "ดีเกินไป": มันผ่านทุกจุด
  2. หมายถึงรายสัปดาห์จะไม่ได้รับการอนุรักษ์

ตัวอย่างชุดข้อมูล

structure(list(date = structure(c(9134, 9141, 9148, 9155, 9162, 
9169, 9176, 9183, 9190, 9197, 9204, 9211, 9218, 9225, 9232, 9239, 
9246, 9253, 9260, 9267, 9274, 9281, 9288, 9295, 9302, 9309, 9316, 
9323, 9330, 9337, 9344, 9351, 9358, 9365, 9372, 9379, 9386, 9393, 
9400, 9407, 9414, 9421, 9428, 9435, 9442, 9449, 9456, 9463, 9470, 
9477, 9484, 9491, 9498, 9505, 9512, 9519, 9526, 9533, 9540, 9547, 
9554, 9561, 9568, 9575, 9582, 9589, 9596, 9603, 9610, 9617, 9624, 
9631, 9638, 9645, 9652, 9659, 9666, 9673, 9680, 9687, 9694, 9701, 
9708, 9715, 9722, 9729, 9736, 9743, 9750, 9757, 9764, 9771, 9778, 
9785, 9792, 9799, 9806, 9813, 9820, 9827, 9834, 9841, 9848, 9855, 
9862, 9869, 9876, 9883, 9890, 9897, 9904, 9911, 9918, 9925, 9932, 
9939, 9946, 9953, 9960, 9967, 9974, 9981, 9988, 9995, 10002, 
10009, 10016, 10023, 10030, 10037, 10044, 10051, 10058, 10065, 
10072, 10079, 10086, 10093, 10100, 10107, 10114, 10121, 10128, 
10135, 10142, 10149, 10156, 10163, 10170, 10177, 10184, 10191, 
10198, 10205, 10212, 10219, 10226, 10233, 10240, 10247, 10254, 
10261, 10268, 10275, 10282, 10289, 10296, 10303, 10310, 10317, 
10324, 10331, 10338, 10345, 10352, 10359, 10366, 10373, 10380, 
10387, 10394, 10401, 10408, 10415, 10422, 10429, 10436, 10443, 
10450, 10457, 10464, 10471, 10478, 10485, 10492, 10499, 10506, 
10513, 10520, 10527, 10534, 10541, 10548, 10555, 10562, 10569, 
10576, 10583, 10590, 10597, 10604, 10611, 10618, 10625, 10632, 
10639, 10646, 10653, 10660, 10667, 10674, 10681, 10688, 10695, 
10702, 10709, 10716, 10723, 10730, 10737, 10744, 10751, 10758, 
10765, 10772, 10779, 10786, 10793, 10800, 10807, 10814, 10821, 
10828, 10835, 10842, 10849, 10856, 10863, 10870, 10877, 10884, 
10891, 10898, 10905, 10912, 10919, 10926, 10933, 10940, 10947, 
10954, 10961, 10968, 10975, 10982, 10989, 10996, 11003, 11010, 
11017, 11024, 11031, 11038, 11045, 11052, 11059, 11066, 11073, 
11080, 11087, 11094, 11101, 11108, 11115, 11122, 11129, 11136, 
11143, 11150, 11157, 11164, 11171, 11178, 11185, 11192, 11199, 
11206, 11213, 11220, 11227, 11234, 11241, 11248, 11255, 11262, 
11269, 11276, 11283, 11290, 11297, 11304, 11311, 11318, 11325, 
11332, 11339, 11346, 11353, 11360, 11367, 11374, 11381, 11388, 
11395, 11402, 11409, 11416, 11423, 11430, 11437, 11444, 11451, 
11458, 11465, 11472, 11479, 11486, 11493, 11500, 11507, 11514, 
11521, 11528, 11535, 11542, 11549, 11556, 11563, 11570, 11577, 
11584, 11591, 11598, 11605, 11612, 11619, 11626, 11633, 11640, 
11647, 11654, 11661, 11668, 11675, 11682, 11689, 11696, 11703, 
11710, 11717, 11724, 11731, 11738, 11745, 11752, 11759, 11766, 
11773, 11780, 11787, 11794, 11801, 11808, 11815, 11822, 11829, 
11836, 11843, 11850, 11857, 11864, 11871, 11878, 11885, 11892, 
11899, 11906, 11913, 11920, 11927, 11934, 11941, 11948, 11955, 
11962, 11969, 11976, 11983, 11990, 11997, 12004, 12011, 12018, 
12025, 12032, 12039, 12046, 12053, 12060, 12067, 12074, 12081, 
12088, 12095, 12102, 12109, 12116, 12123, 12130, 12137, 12144, 
12151, 12158, 12165, 12172, 12179, 12186, 12193, 12200, 12207, 
12214, 12221, 12228, 12235, 12242, 12249, 12256, 12263, 12270, 
12277, 12284, 12291, 12298, 12305, 12312, 12319, 12326, 12333, 
12340, 12347, 12354, 12361, 12368, 12375, 12382, 12389, 12396, 
12403, 12410, 12417, 12424, 12431, 12438, 12445, 12452, 12459, 
12466, 12473, 12480, 12487, 12494, 12501, 12508, 12515, 12522, 
12529, 12536, 12543, 12550, 12557, 12564, 12571, 12578, 12585, 
12592, 12599, 12606, 12613, 12620, 12627, 12634, 12641, 12648, 
12655, 12662, 12669, 12676, 12683, 12690, 12697, 12704, 12711, 
12718, 12725, 12732, 12739, 12746, 12753, 12760, 12767, 12774, 
12781, 12788, 12795, 12802, 12809, 12816, 12823, 12830, 12837, 
12844, 12851, 12858, 12865, 12872, 12879, 12886, 12893, 12900, 
12907, 12914, 12921, 12928, 12935, 12942, 12949, 12956, 12963, 
12970, 12977, 12984, 12991, 12998, 13005, 13012, 13019, 13026, 
13033, 13040, 13047, 13054, 13061, 13068, 13075, 13082, 13089, 
13096, 13103, 13110, 13117, 13124, 13131, 13138, 13145, 13152, 
13159, 13166, 13173, 13180, 13187, 13194, 13201, 13208, 13215, 
13222, 13229, 13236, 13243, 13250, 13257, 13264, 13271, 13278, 
13285, 13292, 13299, 13306, 13313, 13320, 13327, 13334, 13341, 
13348, 13355, 13362, 13369, 13376, 13383, 13390, 13397, 13404, 
13411, 13418, 13425, 13432, 13439, 13446, 13453, 13460, 13467, 
13474, 13481, 13488, 13495, 13502, 13509, 13516, 13523, 13530, 
13537, 13544, 13551, 13558, 13565, 13572, 13579, 13586, 13593, 
13600, 13607, 13614, 13621, 13628, 13635, 13642, 13649, 13656, 
13663, 13670, 13677, 13684, 13691, 13698, 13705, 13712, 13719, 
13726, 13733, 13740, 13747, 13754, 13761, 13768, 13775, 13782, 
13789, 13796, 13803, 13810, 13817, 13824, 13831, 13838, 13845, 
13852, 13859, 13866, 13873, 13880, 13887, 13894, 13901, 13908, 
13915, 13922, 13929, 13936, 13943, 13950, 13957, 13964, 13971, 
13978, 13985, 13992, 13999, 14006, 14013, 14020, 14027, 14034, 
14041, 14048, 14055, 14062, 14069, 14076, 14083, 14090, 14097, 
14104, 14111, 14118, 14125, 14132, 14139, 14146, 14153, 14160, 
14167, 14174, 14181, 14188, 14195, 14202, 14209, 14216, 14223, 
14230, 14237, 14244, 14251, 14258, 14265, 14272, 14279, 14286, 
14293, 14300, 14307, 14314, 14321, 14328, 14335, 14342, 14349, 
14356, 14363, 14370, 14377, 14384, 14391, 14398, 14405, 14412, 
14419, 14426, 14433, 14440, 14447, 14454, 14461, 14468, 14475, 
14482, 14489, 14496, 14503, 14510, 14517, 14524, 14531, 14538, 
14545, 14552, 14559, 14566, 14573, 14580, 14587, 14594, 14601, 
14608, 14615, 14622, 14629, 14636, 14643, 14650, 14657, 14664, 
14671, 14678, 14685, 14692, 14699, 14706, 14713, 14720, 14727, 
14734, 14741, 14748, 14755, 14762, 14769, 14776, 14783, 14790, 
14797, 14804, 14811, 14818, 14825, 14832, 14839, 14846, 14853, 
14860, 14867, 14874, 14881, 14888, 14895, 14902, 14909, 14916, 
14923, 14930, 14937, 14944, 14951, 14958, 14965, 14972), class = "Date"), 
    cases = c(168L, 199L, 214L, 230L, 267L, 373L, 387L, 443L, 
    579L, 821L, 1229L, 1014L, 831L, 648L, 257L, 203L, 137L, 78L, 
    82L, 69L, 45L, 51L, 45L, 63L, 55L, 54L, 52L, 27L, 24L, 12L, 
    10L, 22L, 42L, 32L, 52L, 82L, 95L, 91L, 104L, 143L, 114L, 
    100L, 83L, 113L, 145L, 175L, 222L, 258L, 384L, 755L, 976L, 
    879L, 846L, 1004L, 801L, 799L, 680L, 530L, 410L, 302L, 288L, 
    234L, 269L, 245L, 240L, 176L, 188L, 128L, 96L, 59L, 63L, 
    44L, 52L, 39L, 50L, 36L, 40L, 48L, 32L, 39L, 28L, 29L, 16L, 
    20L, 25L, 25L, 48L, 57L, 76L, 117L, 107L, 91L, 90L, 83L, 
    76L, 86L, 104L, 101L, 116L, 120L, 185L, 290L, 537L, 485L, 
    561L, 1142L, 1213L, 1235L, 1085L, 1052L, 987L, 918L, 746L, 
    620L, 396L, 280L, 214L, 148L, 148L, 94L, 107L, 69L, 55L, 
    69L, 47L, 43L, 49L, 30L, 42L, 51L, 41L, 39L, 40L, 38L, 22L, 
    37L, 26L, 40L, 56L, 54L, 74L, 99L, 114L, 114L, 120L, 114L, 
    123L, 131L, 170L, 147L, 163L, 163L, 160L, 158L, 163L, 124L, 
    115L, 176L, 171L, 214L, 320L, 507L, 902L, 1190L, 1272L, 1282L, 
    1146L, 896L, 597L, 434L, 216L, 141L, 101L, 86L, 65L, 55L, 
    35L, 49L, 29L, 55L, 53L, 57L, 34L, 43L, 42L, 13L, 17L, 20L, 
    27L, 36L, 47L, 64L, 77L, 82L, 82L, 95L, 107L, 96L, 106L, 
    93L, 114L, 102L, 116L, 128L, 123L, 212L, 203L, 165L, 267L, 
    550L, 761L, 998L, 1308L, 1613L, 1704L, 1669L, 1296L, 975L, 
    600L, 337L, 259L, 145L, 91L, 70L, 79L, 63L, 58L, 51L, 53L, 
    39L, 49L, 33L, 47L, 56L, 32L, 43L, 47L, 19L, 32L, 18L, 34L, 
    39L, 63L, 57L, 55L, 69L, 76L, 103L, 99L, 108L, 131L, 113L, 
    106L, 122L, 138L, 136L, 175L, 207L, 324L, 499L, 985L, 1674L, 
    1753L, 1419L, 1105L, 821L, 466L, 274L, 180L, 143L, 82L, 101L, 
    72L, 55L, 71L, 50L, 33L, 26L, 25L, 27L, 21L, 24L, 24L, 20L, 
    18L, 18L, 25L, 23L, 13L, 10L, 16L, 9L, 12L, 16L, 25L, 31L, 
    36L, 40L, 36L, 47L, 32L, 46L, 75L, 63L, 49L, 90L, 83L, 101L, 
    78L, 79L, 98L, 131L, 83L, 122L, 179L, 334L, 544L, 656L, 718L, 
    570L, 323L, 220L, 194L, 125L, 95L, 77L, 46L, 42L, 29L, 35L, 
    21L, 29L, 16L, 14L, 19L, 15L, 19L, 18L, 21L, 10L, 14L, 7L, 
    7L, 5L, 9L, 14L, 11L, 18L, 22L, 39L, 36L, 46L, 44L, 37L, 
    30L, 39L, 37L, 45L, 71L, 59L, 57L, 80L, 68L, 88L, 72L, 74L, 
    208L, 357L, 621L, 839L, 964L, 835L, 735L, 651L, 400L, 292L, 
    198L, 85L, 64L, 41L, 40L, 23L, 18L, 14L, 22L, 9L, 19L, 8L, 
    14L, 12L, 15L, 14L, 4L, 6L, 7L, 7L, 8L, 13L, 10L, 19L, 17L, 
    20L, 22L, 40L, 37L, 45L, 34L, 26L, 35L, 67L, 49L, 77L, 82L, 
    80L, 104L, 88L, 49L, 73L, 113L, 142L, 152L, 206L, 293L, 513L, 
    657L, 919L, 930L, 793L, 603L, 323L, 202L, 112L, 55L, 31L, 
    27L, 15L, 15L, 6L, 13L, 21L, 10L, 11L, 9L, 8L, 11L, 7L, 5L, 
    1L, 4L, 7L, 2L, 6L, 12L, 14L, 21L, 29L, 32L, 26L, 22L, 44L, 
    39L, 47L, 44L, 93L, 145L, 289L, 456L, 685L, 548L, 687L, 773L, 
    575L, 355L, 248L, 179L, 129L, 122L, 103L, 72L, 72L, 36L, 
    26L, 31L, 12L, 14L, 14L, 14L, 7L, 8L, 2L, 7L, 8L, 9L, 26L, 
    10L, 13L, 13L, 5L, 5L, 3L, 6L, 1L, 10L, 6L, 7L, 17L, 12L, 
    21L, 32L, 29L, 18L, 22L, 24L, 38L, 52L, 53L, 73L, 49L, 52L, 
    70L, 77L, 95L, 135L, 163L, 303L, 473L, 823L, 1126L, 1052L, 
    794L, 459L, 314L, 252L, 111L, 55L, 35L, 14L, 30L, 21L, 16L, 
    9L, 11L, 6L, 6L, 8L, 9L, 9L, 10L, 15L, 15L, 11L, 6L, 3L, 
    8L, 4L, 7L, 7L, 13L, 10L, 23L, 24L, 36L, 25L, 34L, 37L, 46L, 
    39L, 37L, 55L, 65L, 54L, 60L, 82L, 55L, 53L, 61L, 52L, 75L, 
    92L, 121L, 170L, 199L, 231L, 259L, 331L, 357L, 262L, 154L, 
    77L, 34L, 41L, 21L, 17L, 16L, 7L, 15L, 11L, 7L, 5L, 6L, 13L, 
    7L, 6L, 8L, 7L, 1L, 11L, 9L, 3L, 9L, 9L, 8L, 15L, 19L, 16L, 
    10L, 12L, 26L, 35L, 35L, 41L, 34L, 30L, 36L, 43L, 23L, 55L, 
    107L, 141L, 217L, 381L, 736L, 782L, 663L, 398L, 182L, 137L, 
    79L, 28L, 26L, 16L, 14L, 8L, 4L, 4L, 6L, 6L, 11L, 4L, 5L, 
    7L, 7L, 6L, 8L, 2L, 3L, 3L, 1L, 1L, 3L, 3L, 2L, 8L, 8L, 11L, 
    10L, 11L, 8L, 24L, 25L, 25L, 33L, 36L, 51L, 61L, 74L, 92L, 
    89L, 123L, 402L, 602L, 524L, 494L, 406L, 344L, 329L, 225L, 
    136L, 136L, 84L, 55L, 55L, 42L, 19L, 28L, 8L, 7L, 2L, 7L, 
    6L, 4L, 3L, 5L, 3L, 3L, 0L, 1L, 2L, 3L, 2L, 1L, 2L, 2L, 9L, 
    4L, 9L, 10L, 18L, 15L, 13L, 12L, 10L, 19L, 15L, 22L, 23L, 
    34L, 43L, 53L, 47L, 57L, 328L, 552L, 787L, 736L, 578L, 374L, 
    228L, 161L, 121L, 96L, 58L, 50L, 37L, 14L, 9L, 6L, 15L, 12L, 
    9L, 1L, 6L, 4L, 7L, 7L, 3L, 6L, 9L, 15L, 22L, 28L, 34L, 62L, 
    54L, 75L, 65L, 58L, 57L, 60L, 37L, 47L, 60L, 89L, 90L, 193L, 
    364L, 553L, 543L, 676L, 550L, 403L, 252L, 140L, 125L, 99L, 
    63L, 63L, 76L, 85L, 68L, 67L, 38L, 25L, 24L, 11L, 9L, 9L, 
    4L, 8L, 4L, 6L, 5L, 2L, 6L, 4L, 4L, 1L, 5L, 4L, 1L, 2L, 2L, 
    2L, 2L, 3L, 4L, 4L, 7L, 5L, 2L, 10L, 11L, 17L, 11L, 16L, 
    15L, 11L, 12L, 21L, 20L, 25L, 46L, 51L, 90L, 123L)), .Names = c("date", 
"cases"), row.names = c(NA, -835L), class = "data.frame")

2
วรรณกรรมเก่ามักจะมีความสุขในสูตรของความซับซ้อนโรโคโคสำหรับสิ่งนี้ ในทางปฏิบัติฉันจะเอนตัวไปข้างหลังเพื่อคิดว่านี่เป็นปัญหาการถดถอยเพื่อให้ค่าที่ถูกสอดแทรกนั้นเป็นเพียงค่าที่ทำนายจากการถดถอย ดูตัวอย่างเช่นstats.stackexchange.com/questions/60500/…หลักการสำคัญคือวงจรหลักจะทำซ้ำปีละครั้ง
Nick Cox

1
ในทางปฏิบัติคุณต้องการความพอดีกับข้อมูลมากเพราะคุณต้องการปรับให้เรียบในท้องถิ่น นั่นอาจต้องการคู่ฟูริเยร์หลายคู่ แต่ผลตอบแทนลดลงอย่างรวดเร็วดังนั้นคำศัพท์ใหม่แต่ละคู่จะเพิ่มน้อยมาก คุณต้องดูดและดู พล็อตทุกอย่างทำให้ชัดเจน
Nick Cox

1
ฉันลองใช้ข้อมูลของคุณสั้น ๆ (โดยใช้ Stata ไม่ใช่ R) สั้น ๆ แม้ว่าข้อมูลของคุณจะมีการทำเครื่องหมายตามฤดูกาล แต่ก็ไม่ได้เป็นปกติเพียงพอสำหรับวิธีการนี้ในการทำงานได้ดีตัวอย่างเช่นไม่เพียง แต่ช่วงเวลาของยอดเขาจะเปลี่ยนไปมาก ในบางปี แต่ไม่ใช่ทั้งหมดที่มีจุดสูงสุดรองในปลายปีปฏิทิน นอกจากนี้ฤดูกาลจะประกอบกับแนวโน้มในระยะยาวที่โดดเด่น ฉันเดาว่าการรับคดีรายวันคุณควรหันไปใช้การแก้ไขในท้องถิ่นอย่างเข้มงวดหรือการทำให้เรียบของซีรีย์รายสัปดาห์ขยายตัวเจ็ดเท่า
Nick Cox

1
ในวิศวกรรมระบบควบคุมเกณฑ์ Nyquist ถูกใช้เป็นชั้นสำหรับอัตราการสุ่มตัวอย่าง มันบอกว่าตัวอย่างที่มีความถี่สูงกว่าสองเท่าของข้อมูลของคุณ ในทางปฏิบัติมันเป็นเรื่องธรรมดามากขึ้นในการสุ่มตัวอย่างที่สูงกว่า 5x ความถี่สูงสุดที่คุณต้องการแก้ไข หากข้อมูลของคุณเป็นข้อมูลรายสัปดาห์ Nyquist จะแนะนำให้แก้ไขความถี่สูงสุดได้ตามลำดับ 2 สัปดาห์ มันอาจจะดีกว่าถ้าคุณมีสถิติรายสัปดาห์อื่น ๆ เพื่อแจ้งการสุ่มตัวอย่างและกดค่าเฉลี่ย en.wikipedia.org/wiki/Nyquist-Shannon_sampling_theorem
EngrStudent

+1 คำถามยอดเยี่ยม! คุณรู้หรือไม่ว่ามีวิธีการตรวจจับสัญญาณในสัญญาณรบกวน (ควรเป็น R) หรือไม่หากคุณมีการแจกแจงจำนวนมากโดยที่เสียงเป็นแบบเกาส์เซียนและสัญญาณคือแบบเกาส์บวกอีกส่วนหนึ่ง? ฉันดูแพ็คเกจและฟังก์ชั่นมากมาย (สัญญาณ, fft (), ฯลฯ )) และแม้กระทั่งเล่นกับข้อมูลพยายามใช้การแปลงฟูริเยร์และแม้แต่มาตรการเอนโทรปี แต่ก็ไม่มีประโยชน์ ฉันพยายามตอบคำถาม (ไม่ใช่ของฉัน) และเรียนรู้สิ่งใหม่ ๆ ระหว่างทางเนื่องจากฉันพบว่าหัวข้อน่าสนใจทีเดียว
Aleksandr Blekh

คำตอบ:


4

ฉันไม่มีความเชี่ยวชาญในการแปลงฟูริเยร์ แต่ ...

กลุ่มตัวอย่างทั้งหมดของ Epstein มีอายุ 24 เดือนโดยมีอัตราตัวอย่างรายเดือน: 1/12 ปี ช่วงตัวอย่างของคุณคือ 835 สัปดาห์ หากเป้าหมายของคุณคือการประเมินค่าเฉลี่ยเป็นเวลาหนึ่งปีด้วยข้อมูลจาก ~ 16 ปีขึ้นอยู่กับข้อมูลรายวันที่คุณต้องการอัตราตัวอย่าง 1/365 ปี ดังนั้นแทนที่ 52 เป็น 12 แต่สร้างมาตรฐานหน่วยแรกและขยาย 835 สัปดาห์ของคุณเป็น 835 * 7 = 5845 วัน อย่างไรก็ตามหากคุณมีจุดข้อมูลรายสัปดาห์เท่านั้นฉันขอแนะนำอัตราตัวอย่าง 52 ด้วยความลึกบิตที่ 16 หรือ 17 สำหรับการวิเคราะห์สูงสุดหรืออีก 32 หรือ 33 สำหรับการเปรียบเทียบแบบคู่ / คี่ ดังนั้นตัวเลือกการป้อนข้อมูลเริ่มต้นจึงรวมถึง: 1) ใช้ค่าเฉลี่ยรายสัปดาห์ (หรือค่าเบี่ยงเบนสัมบูรณ์มัธยฐาน MAD หรือค่าอื่น ๆ ในระดับนั้น) หรือ 2) เพื่อใช้ค่ารายวันซึ่งให้ความละเอียดสูงกว่า

Liebman และคณะ เลือกจุดตัด jmax = 2 ดังนั้นรูปที่ 3 มีจำนวนอนุภาคน้อยลงและมีความสมมาตรที่ด้านบนของไซน์มากกว่ารูปที่ 2 (ส่วนที่ความถี่พื้นฐานเดียวจะทำให้เกิดคลื่นไซน์บริสุทธิ์ ) ถ้า Epstein เลือกความละเอียดที่สูงกว่า (เช่น jmax = 12) การแปลงจะให้ผลเพียงเล็กน้อยกับส่วนประกอบเพิ่มเติมหรือบางทีเขาอาจขาดพลังการคำนวณ

จากการตรวจสอบข้อมูลของคุณด้วยสายตาคุณจะมียอดเขา 16-17 จุด ฉันขอแนะนำให้คุณตั้งค่า jmax หรือ "bit depth" เป็น 6, 11, 16 หรือ 17 (ดูรูป) และเปรียบเทียบผลลัพธ์ ยอดเขาที่สูงขึ้นจะยิ่งทำให้เกิดรูปคลื่นที่ซับซ้อนขึ้น ดังนั้นสมมติว่าความละเอียด 17 แบนด์หรือความลึกของบิตส่วนที่ 17 มีส่วนน้อยที่สุดกับรูปแบบของคลื่นต้นฉบับเมื่อเทียบกับยอดเขาที่ 6 อย่างไรก็ตามด้วยความละเอียด 34 แบนด์คุณจะสามารถตรวจสอบความแตกต่างระหว่างพีคคู่และคี่ได้ตามที่แนะนำโดยหุบเขาที่ค่อนข้างคงที่ ความลึกบิตขึ้นอยู่กับคำถามการวิจัยของคุณไม่ว่าคุณจะมีความสนใจในยอดเขาเท่านั้นหรือทั้งยอดและหุบเขา แต่ยังว่าคุณต้องการที่จะประมาณชุดเดิม

การวิเคราะห์ฟูริเยร์ช่วยลดจุดข้อมูลของคุณ หากคุณต้องสลับฟังก์ชันที่ระดับความลึกบิตโดยใช้การแปลงฟูริเยร์คุณอาจตรวจสอบข้ามว่าการประมาณค่าเฉลี่ยใหม่ตรงกับวิธีการดั้งเดิมของคุณหรือไม่ ดังนั้นเพื่อตอบคำถามที่สี่ของคุณ: พารามิเตอร์การถดถอยที่คุณกล่าวถึงขึ้นอยู่กับความไวและความละเอียดที่คุณต้องการ หากคุณไม่ต้องการให้พอดีแน่นอนแล้วโดยทั้งหมดหมายถึงเพียงแค่ใส่หมายถึงรายสัปดาห์ในการแปลง อย่างไรก็ตามระวังว่าความลึกบิตที่ต่ำกว่าจะลดข้อมูล ตัวอย่างเช่นสังเกตว่าการซ้อนประสานฮาร์มอนิกของ Epstein ในการวิเคราะห์ลีเบอร์แมนและเพื่อนร่วมงานของคิดถึงจุดกึ่งกลางของฟังก์ชันขั้นตอนโดยมีเส้นโค้งเอียงไปทางขวาเล็กน้อย (เช่นอุณหภูมิสูงเกินไป) ในเดือนธันวาคมในรูปที่ 3


พารามิเตอร์ของ Liebman และเพื่อนร่วมงาน:

  • ความลึกบิต: 2

พารามิเตอร์ของ Epstein:

  • อัตราตัวอย่าง: 12 [ทุกเดือน]
  • ช่วงตัวอย่าง: 24 เดือน
  • ความลึกบิต: 6

พารามิเตอร์ของคุณ:

  • อัตราตัวอย่าง: 365 [ทุกวัน]

  • ช่วงตัวอย่าง: 5845 วัน

วิธีการความลึกบิตที่แน่นอน

พอดีแน่นอนขึ้นอยู่กับการตรวจสอบภาพ (ถ้าคุณมีพลังให้ดูสิ่งที่เกิดขึ้นเมื่อเทียบกับความลึกของบิตที่ต่ำกว่า)

  • เต็มสเปกตรัม (ยอด): 17
  • สเปกตรัมเต็ม (คู่ / คี่): 34

วิธีการปรับความลึกบิตได้

นี่อาจเป็นสิ่งที่คุณต้องการทำ:

  • เปรียบเทียบ Peaks เท่านั้น: 6, 11, 16, 17
  • เปรียบเทียบคู่ / คี่: 12, 22, 32, 34
  • ปรับขนาดและเปรียบเทียบค่าเฉลี่ยใหม่

วิธีการนี้จะให้ผลคล้ายกับการเปรียบเทียบตัวเลขใน Epstein ถ้าคุณผกผันการแปลงอีกครั้งคือสังเคราะห์ส่วนที่เป็นประมาณของอนุกรมเวลาดั้งเดิม คุณยังสามารถเปรียบเทียบจุดแยกของเส้นโค้งที่ถูกสังเคราะห์ใหม่กับค่าเฉลี่ยบางทีอาจทดสอบความแตกต่างที่สำคัญเพื่อระบุความไวของตัวเลือกความลึกบิตของคุณ


อัปเดต 1:

ความลึกบิต

บิต - สั้นสำหรับเลขฐานสอง - คือ 0 หรือ 1 บิต 010101 จะอธิบายคลื่นสี่เหลี่ยม ความลึกบิตคือ 1 บิต เพื่ออธิบายคลื่นเลื่อยคุณจะต้องบิตเพิ่มเติม: 0123210 คลื่นที่ซับซ้อนมากขึ้นจะได้รับบิตเพิ่มเติมที่คุณต้องการ:

นี่เป็นคำอธิบายที่ค่อนข้างง่าย แต่ยิ่งอนุกรมเวลามีความซับซ้อนมากเท่าไหร่ ที่จริงแล้ว "1" เป็นองค์ประกอบของคลื่นไซน์และไม่ใช่รูปคลื่นสี่เหลี่ยม (คลื่นรูปสี่เหลี่ยมมีลักษณะคล้ายกับ 3 2 1 0 - ดูรูปที่แนบมา) 0 บิตจะเป็นเส้นตรง ข้อมูลหายไปพร้อมกับลดความลึกของบิต ตัวอย่างเช่นเสียงที่มีคุณภาพซีดีมักจะเป็น 16 บิต แต่คุณภาพเสียงของโทรศัพท์พื้นฐานจะอยู่ที่ประมาณ 8 บิต

โปรดอ่านภาพนี้จากซ้ายไปขวาโดยเน้นที่กราฟ:

FFT

คุณเพิ่งเสร็จสิ้นการวิเคราะห์สเปกตรัมพลังงาน (แม้ว่าที่ความละเอียดสูงในรูปของคุณ) เป้าหมายต่อไปของคุณคือการคิดออก: ฉันต้องมีส่วนประกอบจำนวนเท่าใดในสเปกตรัมพลังงานเพื่อที่จะจับภาพชุดของเวลาได้อย่างถูกต้อง?

อัพเดท 2


เพื่อกรองหรือไม่กรอง

ฉันไม่แน่ใจว่าคุณจะแนะนำข้อ จำกัด ในการถดถอยได้อย่างไรเนื่องจากฉันคุ้นเคยกับการ จำกัด ช่วงเวลาเท่านั้น แต่บางที DSP อาจเป็นคำตอบของคุณ นี่คือสิ่งที่ฉันคิดว่า:

  • ขั้นตอนที่ 1. แบ่งชุดข้อมูลออกเป็นส่วนประกอบของไซนัสผ่านฟังก์ชันฟูริเยร์ในชุดข้อมูลที่สมบูรณ์ (เป็นวัน)

  • ขั้นตอนที่ 2 สร้างอนุกรมเวลาใหม่ด้วยการแปลงฟูริเยร์ผกผันโดยมีข้อ จำกัด ค่าเฉลี่ยเพิ่มเติมควบคู่ไปกับข้อมูลดั้งเดิม: การเบี่ยงเบนของการแก้ไขจากวิธีดั้งเดิมควรยกเลิกซึ่งกันและกัน (Harzallah, 1995)

การคาดเดาที่ดีที่สุดของฉันคือคุณจะต้องแนะนำการตอบโต้อัตโนมัติถ้าฉันเข้าใจ Harzallah (1995, รูปที่ 2) อย่างถูกต้อง ดังนั้นอาจจะตรงกับตัวกรองการตอบสนองที่ไม่มีที่สิ้นสุด (IIR)

IIR http://paulbourke.net/miscellaneous/ar/

สรุป:

  1. สืบทอดมาจากข้อมูลดิบ
  2. ฟูเรียร์แปลงข้อมูลดิบ
  3. Fourier Inverse Transform การแปลงข้อมูล
  4. กรองผลลัพธ์โดยใช้ IIR

บางทีคุณสามารถใช้ตัวกรอง IIR โดยไม่ต้องผ่านการวิเคราะห์ฟูริเยร์? ข้อได้เปรียบเพียงข้อเดียวของการวิเคราะห์ฟูริเยร์ตามที่ฉันเห็นคือการแยกและกำหนดรูปแบบที่มีอิทธิพลและความถี่ที่จะเกิดซ้ำ (เช่นแกว่ง) จากนั้นคุณสามารถตัดสินใจที่จะกรองสิ่งที่มีส่วนร่วมน้อยลงเช่นใช้ตัวกรองที่มีรอยบากที่จุดสูงสุดน้อยที่สุด (หรือตัวกรองตามเกณฑ์ของคุณเอง) สำหรับผู้เริ่มต้นคุณสามารถกรองหุบเขาแปลก ๆ ที่ไม่ค่อยมีส่วนร่วมซึ่งดูเหมือนเสียงรบกวนใน "สัญญาณ" เสียงรบกวนนั้นมีน้อยมากและไม่มีรูปแบบ หวีฟิลเตอร์ที่ส่วนประกอบความถี่คี่สามารถลดเสียงรบกวนได้เว้นแต่ว่าคุณจะพบลวดลายอยู่ที่นั่น

นี่คือบางส่วนของการ binning โดยพลการ - สำหรับจุดประสงค์เพื่ออธิบายเท่านั้น: คุณเห็นเสียงในหุบเขาไหม?

อ๊ะ - มีฟังก์ชั่น R สำหรับสิ่งนั้น!

เมื่อค้นหาตัวกรอง IIR ฉันจะค้นพบฟังก์ชัน R สอดแทรกในแพ็คเกจสัญญาณ ลืมทุกสิ่งที่ฉันพูดไปจนถึงจุดนี้ การแก้ไขควรใช้งานได้เหมือนของ Harzallah: http://cran.r-project.org/web/packages/signal/signal.pdf

เล่นกับฟังก์ชั่น ควรทำเคล็ดลับ


อัพเดท 3

interp1 ไม่ใช่ interp

case.interp1 <- interp1(x=(ts.frame$no.influ.cases[!is.na(ts.frame$no.influ.case)]),y=ts.frame$yearday[!is.na(ts.frame$no.influ.case)],xi=mean(WEEKLYMEANSTABLE),method = c("cubic"))

ตั้งค่า xi เป็นค่าเฉลี่ยรายสัปดาห์ดั้งเดิม


ขอบคุณมากสำหรับคำตอบนี้! เป้าหมายการวิจัยของฉันเป็นเรื่องง่าย: ฉันมีค่าเฉลี่ยรายสัปดาห์และต้องการได้รับการประมาณการรายวันและค่าเฉลี่ยของการประมาณรายวัน (สอดแทรก) ในหนึ่งสัปดาห์ควรเท่ากับค่าเฉลี่ยรายสัปดาห์ (เช่นจุดข้อมูลดั้งเดิม) คุณคิดว่าเป็นไปได้ไหม นอกจากนี้ฉันไม่เข้าใจว่า "ความลึกบิต" และ "การวิเคราะห์ยอด" หมายถึงอะไร (ฉันไม่เคยมีประสบการณ์กับการแปลงฟูริเยร์เลย)
COOLSerdash

1
@COOLSerdash ดูการอัปเดตของฉัน ใช่มันเป็นไปได้! แต่คุณจะต้องหาวิธีที่ดีที่สุดในการเปรียบเทียบค่าเฉลี่ยโดยประมาณจากอนุกรมเวลาที่มีการสังเคราะห์ใหม่กับค่าเฉลี่ยดั้งเดิมจากอนุกรมเวลาดั้งเดิม
พฤศจิกายน

(Btw: +1 พรุ่งนี้ฉันไม่สามารถลงคะแนนในวันนี้อีกต่อไป) ขอบคุณมากสำหรับการอัปเดตตอนนี้ชัดเจนขึ้น ฉันคิดเกี่ยวกับขั้นตอนต่อไปนี้: 1) ปรับฟังก์ชั่นฟูเรียร์กับค่าเฉลี่ยรายสัปดาห์โดยการถดถอย 2) ใช้การคาดคะเนของการถดถอยเพื่อ "เติม" ช่องว่างระหว่างค่ารายสัปดาห์ (เช่นเพื่อรับค่ารายวัน) 3) สำหรับ แต่ละสัปดาห์คำนวณค่าเฉลี่ยของค่ารายวันทั้งหมดและค่าเฉลี่ยนี้ควรเท่ากับค่าดั้งเดิม ในกระดาษ Epstein ใช้ปัจจัย "การแก้ไข" บางอย่างเพื่อบังคับให้ฟังก์ชั่นมีคุณสมบัติที่ต้องการ แต่ฉันก็ยังไม่แน่ใจว่าจะทำอย่างไรกับการถดถอย
COOLSerdash

@COOLSerdash ดูอัปเดต 2! ข้ามไปที่ย่อหน้าสุดท้าย
noumenal

ยอดเยี่ยมอย่างแน่นอน! ขอบคุณมากสำหรับการวิจัย โปรดทราบว่าผมได้มีการจัดการที่จะใช้วิธีการ Harzallah โดยใช้เส้นโค้ง (เชิงเส้นและลูกบาศก์) interpดังนั้นผมคิดว่าผมจะต้อง ฉันได้แก้ไขคำถามของฉัน ขอบคุณอีกครั้งมาก
COOLSerdash
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.