Pozdrowienia,
Przeprowadzam badania, które pomogą określić rozmiar obserwowanej przestrzeni i czas, jaki upłynął od Wielkiego Wybuchu. Mam nadzieję, że możesz pomóc!
Mam dane zgodne z częściową funkcją liniową, na której chcę wykonać dwie regresje liniowe. Jest punkt, w którym nachylenie i punkt przecięcia zmieniają się i muszę (napisać program) znaleźć ten punkt.
Myśli?
regression
change-point
rombidodekeded
źródło
źródło
Odpowiedzi:
mcp
Pakiet może to zrobić. Powiedz, że masz daneNajpierw symulujmy niektóre dane:
Zobaczmy teraz, czy możemy odzyskać punkt zmiany przy 40 (i wartościach parametrów) za pomocą
mcp
:Działka Szare linie są losowymi losowaniami z dopasowania, co pokazuje, że odzwierciedla trend. Niebieska krzywa jest szacunkową lokalizacją punktu zmiany:
Zobaczmy szacunki poszczególnych parametrów.
int_
są punktami przecięcia,x_
są nachyleniami na x icp_
są punktami zmiany:Oświadczenie: Jestem deweloperem
mcp
.źródło
Strucchange pakietu R może ci pomóc. Spójrz na winietę, ma ładny przegląd, jak rozwiązać podobne problemy.
źródło
Jeśli liczba punktów nie jest zbyt duża, możesz wypróbować wszystkie możliwości. Załóżmy, że punkty są , gdzie . Następnie możesz zapętlić za pomocą od do i dopasować dwie linie do obu i . Na koniec wybierasz dla którego suma kwadratów reszt dla obu linii jest minimalna.Xi=(xi,yi) i=1,..,N j 2 N−2 {X1,...,Xj} {X(j+1),...,XN} j
źródło
Jest to problem z wykrywaniem punktu zmiany (offline). Nasza poprzednia dyskusja zawiera odniesienia do artykułów w czasopismach i kodu R. Najpierw spójrz na „model partycji produktu” Barry'ego i Hartigana , ponieważ obsługuje on zmiany nachylenia i ma wydajne implementacje.
źródło
Również pakiet podzielony na segmenty pomógł mi w przeszłości z podobnymi problemami.
źródło
segmented
można także modelować zmian przechwytywania między segmentami - tylko przechwytywanie dla pierwszego segmentu.Zbudowałem na podstawie odpowiedzi mbq, że szukając wszystkich możliwości. Ponadto robię to:
Po co sprawdzać znaczenie? Wynika to z faktu, że punkt z minimalnym SSE nie ma znaczenia, jeśli któryś z modeli cząstkowych bardzo źle pasuje do danych. Może się to zdarzyć w przypadku dwóch wysoce skorelowanych zmiennych bez wyraźnego punktu przerwania, w którym zmieniają się nachylenia.
Sprawdźmy to proste podejście w prostym przypadku testowym:
Punkt przerwania jest oczywiście zerowy. Użyj następującego skryptu R:
Dopasuj częściowe modele liniowe do wszystkich możliwych kombinacji:
Jeśli sprawdzimy współczynniki dla dwóch optymalnych modeli, będą one bardzo znaczące. Ich R2 również będzie bardzo wysoki.
źródło