Mówiąc wprost : mam model regresji wielokrotnej lub model ANOVA, ale zmienna odpowiedzi dla każdej osoby jest krzywoliniową funkcją czasu.
- Jak stwierdzić, które ze zmiennych po prawej stronie są odpowiedzialne za znaczące różnice w kształtach lub pionowych przesunięciach krzywych?
- Czy to problem z szeregiem czasowym, problem z powtarzanymi pomiarami, czy coś zupełnie innego?
- Jakie są najlepsze praktyki analizy takich danych (najlepiej w
R
, ale jestem otwarty na używanie innego oprogramowania)?
Mówiąc ściślej: powiedzmy, że mam model ale y i j k to tak naprawdę szereg danych punkty zebrane od tej samej osoby k w wielu punktach czasowych t , które zostały zarejestrowane jako zmienna liczbowa. Wykreślenie danych pokazuje, że dla każdej osoby y i j k tjest kwadratową lub cykliczną funkcją czasu, której przesunięcie pionowe, kształt lub częstotliwość (w przypadku cyklicznym) mogą znacznie zależeć od zmiennych towarzyszących. Zmienne towarzyszące nie zmieniają się w czasie - tj. Osoba ma stałą masę ciała lub grupę leczenia przez cały okres zbierania danych.
Do tej pory wypróbowałem następujące R
podejścia:
Manova
Anova(lm(YT~A*B,mydata),idata=data.frame(TIME=factor(c(1:10))),idesign=~TIME);
... gdzie
YT
jest macierz, której kolumny to punkty czasowe, 10 z nich w tym przykładzie, ale znacznie więcej w rzeczywistych danych.Problem: traktuje czas jako czynnik, ale punkty czasowe nie są dokładnie takie same dla każdej osoby. Co więcej, jest ich wiele w stosunku do wielkości próbki, więc model się nasyca. Wygląda na to, że kształt zmiennej odpowiedzi w czasie jest ignorowany.
Model mieszany (jak w Pinheiro i Bates, modele mieszane w S i S-Plus )
lme(fixed=Y~ A*B*TIME + sin(2*pi*TIME) + cos(2*pi*TIME), data=mydata, random=~(TIME + sin(2*pi*TIME) + cos(2*pi*TIME))|ID), method='ML')
... gdzie
ID
jest czynnik grupujący dane według osób. W tym przykładzie odpowiedź jest cykliczna w czasie, ale zamiast tego mogą istnieć wyrażenia kwadratowe lub inne funkcje czasu.Problem: Nie jestem pewien, czy każdy termin jest konieczny (szczególnie w przypadku wyrażeń kwadratowych) i na które z nich mają wpływ zmienne towarzyszące.
- Czy
stepAIC()
to dobry sposób na ich wybranie? - Jeśli usunie termin zależny od czasu, czy również usunie go z
random
argumentu? - Co się stanie, jeśli użyję również funkcji autokorelacji (takiej jak
corEXP()
), która pobiera formułę wcorrelation
argumencie - czy powinienem utworzyć tę formułę dlacorEXP()
takiej samej jak wrandom
lub po prostu~1|ID
? nlme
Pakiet rzadko wspomina się w kontekście szeregów czasowych poza Pinheiro i Bates ... nie jest to uważane za dobrze nadaje się do tego problemu?
- Czy
Dopasowywanie modelu kwadratowego lub trygonometrycznego do każdego osobnika, a następnie wykorzystanie każdego współczynnika jako zmiennej odpowiedzi dla regresji wielokrotnej lub ANOVA.
Problem: Konieczna jest wielokrotna korekta porównania. Nie mogę wymyślić żadnych innych problemów, które budzą we mnie podejrzenia, że coś przeoczę.
Jak wcześniej sugerowano na tej stronie ( jaki jest termin regresji szeregów czasowych z więcej niż jednym predyktorem? ), Istnieją modele ARIMAX i funkcja transferu / regresja dynamiczna .
Problem: modele oparte na ARMA zakładają dyskretne czasy, prawda? Jeśli chodzi o regresję dynamiczną, usłyszałem o tym dziś po raz pierwszy, ale zanim zagłębię się w kolejną nową metodę, która może się jednak nie udać, pomyślałem, że rozsądnie byłoby poprosić ludzi, którzy zrobili to wcześniej, o poradę.