[Matematyka] regresja kosinusowo - liniowa

0

Posiadam pewne dane pomiarowe - średnie tygodniowe temperatury powietrza na przełomie kilku lat. Chciałbym wyznaczyć linie regresji zadaną wzorem:
a*cos(pi/26 * x + b) + cx + d

Funkcja błędu standardowego wyszła koszmarna, za Chiny nie znajdę jej minimum. Jak się postępuje w takich przypadkach ?

W ostateczności wystarczy mi regresją funkcją:
a*cos(pi/26 * x + b) + d

0

Spróbowałbym aproksymację średniokwadratową (ew. jednostajną?) dla funkcji bazowych: 1, x, cos(pi/26x), sin(pi/26x).

Albo: przeprowadzić normalną regresję liniową dla tych danych i potem aproksymację trygonometryczną (transformata fouriera) dla f(x) - (ax+b).

(oczywiście numerycznie...)

0

Ja bym zrobił najpierw FFT. Na podstawie tego widać by było pojedynczą częstotliwość (1/rok) i czy konieczne są wyższe harmoniczne. Jeśli masz dane z wielu lat to na początek można też zignorować okresowość i zrobić na początek samą regresję liniową a następnie narysować różnicę pomiędzy tą prostą (linią trendu) a danymi wejściowymi, a następnie na tej różnicy wykonać dopasowanie okresowości (cosinusa). Pamiętaj jednak o cyklach słonecznych (co 11 lat zmieniają się bieguny magnetyczne słońca i jego aktywność). Te manewry pozwolą ci na stwierdzenie co z tym można zrobić, oraz pozwolą na zawężenie obszaru poszukiwań wartości poszukiwanych zmiennych. Mając te dane zastosowanie numerycznej metody najmniejszych kwadratów nie powinno być trudne.

0
adf88 napisał(a)

Funkcja błędu standardowego wyszła koszmarna, za Chiny nie znajdę jej minimum. Jak się postępuje w takich przypadkach ?

jeżeli potrzebujesz tego minimum konkretnego, wyliczonego jeden raz, to może eduoptim pomoże?

1 użytkowników online, w tym zalogowanych: 0, gości: 1