Dane podłużne: szeregi czasowe, powtarzane pomiary czy coś innego?

10

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 tyjajotk=β0+β1xja+β2)xjot+β3)xjaxjot+ϵkyjajotkktyjajotktjest 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 Rpodejścia:

  1. Manova

    Anova(lm(YT~A*B,mydata),idata=data.frame(TIME=factor(c(1:10))),idesign=~TIME); 
    

    ... gdzie YTjest 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.

  2. 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 IDjest 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 randomargumentu?
    • Co się stanie, jeśli użyję również funkcji autokorelacji (takiej jak corEXP()), która pobiera formułę w correlationargumencie - czy powinienem utworzyć tę formułę dla corEXP()takiej samej jak w randomlub po prostu ~1|ID?
    • nlmePakiet 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?
  3. 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ę.

  4. 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ę.

f1r3br4nd
źródło
5
@ f1r3br4and Może to pomóc, jeśli dodasz szczegółowe informacje o tym, jakie dokładnie są twoje dane? Tj. Ile przypadków mierzono w ilu punktach czasowych? Czy przypadki są w różnych warunkach? czy coś innego?
Jeromy Anglim
Zgubiłeś swoje konto? Jeśli tak, zarejestruj nowy, prawdopodobnie na swój adres Gmail, aby łatwo znaleźć elementy do scalenia.
1
@ f-tussel i @ jeromy-anglim: Dane to różne nieinwazyjne pomiary zebrane od zwierząt laboratoryjnych w ciągu ich naturalnego okresu życia, często połączone z informacjami statycznymi, takimi jak genotyp, płeć lub rodzaj diety, którą są karmione. Przez „wiele” punktów rozumiem od 20 do kilkuset. Próbuję analizować nie tylko jeden zestaw danych, ale też nauczyć się analizować dane, które stają się bardzo popularne w mojej grupie. Czy modele mieszane z czynnikami wewnątrz grupy są zalecane tylko dla mniejszych próbek?
f1r3br4nd

Odpowiedzi:

5

Jak powiedział Jeromy Anglim, pomocne byłoby poznanie liczby punktów czasowych dla każdej osoby; jak powiedziałeś „wielu”, zaryzykowałbym, że analiza funkcjonalna może być realną alternatywą. Możesz sprawdzić pakiet R fda i spojrzeć na książkę Ramsaya i Silvermana .

F. Tusell
źródło
Analiza funkcjonalna na dłuższą metę wydaje się obiecująca, ale wygląda na to, że będzie dość krzywa uczenia się, zanim upewnię się, że nie uzyskam bezsensownych lub stronniczych wyników. Więc kiedy zaczynam rozumieć, czy bardziej znane są nlmepodejścia bardziej znane (pozycje 2 i 3 w PO), które można na razie wykorzystać na danych?
f1r3br4nd
2

Od momentu postawienia tego pytania doszedłem do wniosku, że modele z efektem mieszanym z podmiotami jako losowym czynnikiem blokującym są praktycznym rozwiązaniem tego problemu, tj. Opcja nr 2 w moim oryginalnym poście. Jeśli randomargument to lmejest ustawiony na ~1|ID(gdzie IDidentyfikuje obserwacje pochodzące od tego samego badanego obiektu), wówczas dopasowywany jest model przechwytywania losowego. Jeśli jest ustawiony na, ~TIME|IDwówczas dopasowywany jest losowy model nachylenia i przecięcia. Każda prawostronna formuła zawierająca zmienne, które różnią się w obrębie tej samej osoby, może być umieszczona między ~i |ID, ale zbyt skomplikowane formuły spowodują nasycony model i / lub różne błędy numeryczne. Dlatego można zastosować test współczynnika wiarygodności (anova(myModel, update(myModel,random=~TIME|ID))) w celu porównania losowego modelu przechwytywania z losowym nachyleniem i modelem przechwytywania lub innymi kandydującymi modelami losowego efektu. Jeśli różnica w dopasowaniu nie jest znacząca, trzymaj się prostszego modelu. To było przesadne, że mogłem przejść do losowych funkcji trig w moim oryginalnym poście.

Innym poruszonym przeze mnie zagadnieniem była kwestia wyboru modelu. Wygląda na to, że ludzie nie lubią selekcji modeli, ale nikt nie ma praktycznych alternatyw. Jeśli ślepo uważasz, że badacz, który zebrał dane o tym, jakie zmienne objaśniające są i nie są istotne, często będziesz ślepo akceptował ich niesprawdzone założenia. Jeśli weźmiesz pod uwagę każdy możliwy fragment informacji, często skończysz z nasyconym modelem. Jeśli dowolnie wybierzesz konkretny model i zmienne, ponieważ są one łatwe, ponownie przyjmiesz niesprawdzone założenia, tym razem własne.

Podsumowując, w przypadku powtarzanych pomiarów są to lmemodele, po których następuje przycinanie przez MASS:::stepAIClub MuMIn:::dredgei / lub nlme:::anova.lmedo i chyba, że ​​ktoś ma lepszy pomysł.

Pozostawię tę odpowiedź na chwilę, zanim ją zaakceptuję, aby sprawdzić, czy ktoś ma jakieś obalenia. Dziękuję za poświęcony czas, a jeśli czytasz to, ponieważ masz takie samo pytanie, jakie mam, powodzenia i witam na częściowo nieznanym terytorium.

f1r3br4nd
źródło