Home Forum Statistica con R Modelli Misti

This topic contains 5 replies and has 2 voices.

Viewing 6 posts - 1 through 6 (of 6 total)
  • Author
    Posts
  • #5029

    C.Coc
    Participant

    Salve a tutti,
    Ho utilizzato la funzione lme del paccheetto nlme. Si tratta di misure di temperatura rilevate ad intervalli regolari di 15 minuti. i soggetti su cui sono state rilevate sono stati suddivisi in tre cluster in base alle percezioni da essi manifestate attraverso un questionario. Riporto di seguito l’organizzazione dei dati:

    > str(Temperature)
    'data.frame':   100 obs. of  13 variables:
     $ Cluster  : Factor w/ 3 levels "C","LB","UB": 1 1 1 1 1 1 1 1 1 1 ...
     $ Cluster_N: int  1 1 1 1 1 1 1 1 1 1 ...
     $ Soggetto : int  2 2 2 2 4 4 4 4 5 5 ...
     $ Tempo    : int  0 15 30 45 0 15 30 45 0 15 ...
     $ Tamb     : num  25.9 26.5 25.9 25.8 25.5 27.3 25.9 26.2 26.4 26.5 ...
     $ T_Mod1ai0: num  26.9 29.9 30.1 30.3 29.3 ...

    Cluster e Cluster_N indicano entrambe il gruppo di appartenenza del soggetto soltanto che il primo è codificato con lettere e si presenta come fattore a tre livelli ed il secondo come numero( C=1, LB=2, UB=3).
    Riporto di seguito le formule applicate con i relativi risultati:

    Modello <- lme(T_Mod1ai0 ~ Tempo*Cluster, random=~1|Soggetto, data=Temperature)
    > summary(Modello)
    Linear mixed-effects model fit by REML
     Data: Temperature 
           AIC      BIC    logLik
      407.0355 427.3818 -195.5177
    
    Random effects:
     Formula: ~1 | Soggetto
            (Intercept) Residual
    StdDev:   0.4227654 1.534915
    
    Fixed effects: T_Mod1ai0 ~ Tempo * Cluster 
                        Value Std.Error DF  t-value p-value
    (Intercept)     28.569039 0.4780044 72 59.76732  0.0000
    Tempo            0.105852 0.0161794 72  6.54236  0.0000
    ClusterLB       -0.277241 0.6413102 22 -0.43230  0.6697
    ClusterUB       -0.667538 0.6997268 22 -0.95400  0.3505
    Tempo:ClusterLB  0.013955 0.0217070 72  0.64289  0.5223
    Tempo:ClusterUB  0.031398 0.0236843 72  1.32570  0.1891
     Correlation: 
                    (Intr) Tempo  ClstLB ClstUB Tm:CLB
    Tempo           -0.762                            
    ClusterLB       -0.745  0.568                     
    ClusterUB       -0.683  0.520  0.509              
    Tempo:ClusterLB  0.568 -0.745 -0.762 -0.388       
    Tempo:ClusterUB  0.520 -0.683 -0.388 -0.762  0.509
    
    Standardized Within-Group Residuals:
            Min          Q1         Med          Q3         Max 
    -1.77507451 -0.65198141 -0.03330406  0.66822462  1.88646381 
    
    Number of Observations: 100
    Number of Groups: 25 
    
    > Modello1 <- lme(T_Mod1ai0 ~ Tempo*Cluster_N, random=~1|Soggetto, data=Temperature)
    > summary(Modello1)
    Linear mixed-effects model fit by REML
     Data: Temperature 
           AIC     BIC    logLik
      399.4529 414.839 -193.7265
    
    Random effects:
     Formula: ~1 | Soggetto
            (Intercept) Residual
    StdDev:   0.3916982 1.524458
    
    Fixed effects: T_Mod1ai0 ~ Tempo * Cluster_N 
                        Value Std.Error DF  t-value p-value
    (Intercept)     28.922457 0.7268771 73 39.79002  0.0000
    Tempo            0.089546 0.0247608 73  3.61646  0.0005
    Cluster_N       -0.332257 0.3449606 23 -0.96317  0.3455
    Tempo:Cluster_N  0.015652 0.0117510 73  1.33202  0.1870
     Correlation: 
                    (Intr) Tempo  Clst_N
    Tempo           -0.766              
    Cluster_N       -0.930  0.713       
    Tempo:Cluster_N  0.713 -0.930 -0.766
    
    Standardized Within-Group Residuals:
            Min          Q1         Med          Q3         Max 
    -1.79248423 -0.67296210 -0.02722896  0.66851703  1.92257191 
    
    Number of Observations: 100
    Number of Groups: 25 
    > Modello2 <- lme(T_Mod1ai0 ~ Tempo+Cluster_N, random=~1|Soggetto, data=Temperature)
    > summary(Modello2)
    Linear mixed-effects model fit by REML
     Data: Temperature 
           AIC     BIC    logLik
      392.1734 405.047 -191.0867
    
    Random effects:
     Formula: ~1 | Soggetto
            (Intercept) Residual
    StdDev:     0.38386 1.532412
    
    Fixed effects: T_Mod1ai0 ~ Tempo + Cluster_N 
                    Value Std.Error DF  t-value p-value
    (Intercept) 28.232182 0.5101361 74 55.34245  0.0000
    Tempo        0.120225 0.0091375 74 13.15729  0.0000
    Cluster_N    0.019924 0.2215678 23  0.08992  0.9291
     Correlation: 
              (Intr) Tempo 
    Tempo     -0.403       
    Cluster_N -0.851  0.000
    
    Standardized Within-Group Residuals:
            Min          Q1         Med          Q3         Max 
    -2.01517357 -0.65020599  0.03227946  0.69238716  1.91394431 
    
    Number of Observations: 100
    Number of Groups: 25 

    Perchè nel primo caso vengono riportate le variabili ClusterLB e ClusterUB, mentre nel secondo caso solo Cluster.
    Mi potreste poi spiegare la sintassi per esprimere gli effetti casuali?
    Che differenza c’è tra : 1|Soggetto, Soggetto|Tempo, Soggetto|Cluster, Tempo|Soggetto, Cluster|Soggetto?

    #5030

    C.Coc
    Participant

    Inoltre è possibile scrivere il modello misto per una serie di variabili senza dovere ripetere la funzione lme per ciascuna di queste?

    #5033
    Davide Massidda
    Davide Massidda
    Moderator

    Ciao, provo a risponderti singolarmente a ogni domanda.

    Perchè nel primo caso vengono riportate le variabili ClusterLB e ClusterUB, mentre nel secondo caso solo Cluster.

    Questa è la notazione classica degli output dei modelli lineari di R. Troveresti la stessa cosa anche se usassi lm(). Singifica che il primo dei tre livelli del fattore Clutster è stato utilizzato come riferimento, per cui i due livelli LB e UB vengono confrontati contro di esso. Per esempio, con la notazione “ClusterLB”, R ti sta dicendo che il parametro in quella riga si riferisce al confronto fra LB e il gruppo di riferimento.

    Mi potreste poi spiegare la sintassi per esprimere gli effetti casuali?

    1|Soggetto: modello con sola intercetta casuale, con Soggetto utilizzato come fattore casuale.
    Tempo|Soggetto: modello che, oltre all’intercetta casuale, assume anche che lo slope del Tempo sia casuale; il fattore random sono sempre i soggetti.

    Inoltre è possibile scrivere il modello misto per una serie di variabili senza dovere ripetere la funzione lme per ciascuna di queste?

    Per farlo, io di solito inizializzo una lista vuota e la riempio in maniera iterativa utilizzando un ciclo for.

    #5034

    C.Coc
    Participant

    Come è possibile tener presente nel modello che le misure effettuate negli istanti successivi (15, 30, 45) dipendono dalla misura effettuata nell’istante iniziale(0)? Inoltre tra la funzione in cui è presente Cluster come fattore a tre livelli e quella in cui è presente Cluster_N in cui il gruppo è indicato con numeri quale è conveniente utilizzare?
    Come posso testare la bontà del modello? da qualche parte ho letto che se i coefficienti di correlazione sono alti viene messa in dubbio l’adeguatezza del modello; ma quanto devono essere alti?
    Infine se il risultato della funzione lme dà un p-value molto alto sia per il Tempo che per il cluster ha senso fare un’analisi di varianza con la funzione aov mettendo come argomento il risultato della funzione lme? Successivamente che test post-hoc posso utilizzare?

    • This reply was modified 5 months, 4 weeks ago by  C.Coc.
    • This reply was modified 5 months, 4 weeks ago by  C.Coc.
    • This reply was modified 5 months, 4 weeks ago by  C.Coc.
    #5038

    C.Coc
    Participant

    In realtà credo che ogni misura effettuata dopo 15 minuti dipenda in qualche modo da quella effettuata precedentemente. così la misura effettuata dopo 15min dipenda in parte da quella effettuata all’instante 0, quella effettuata dopo 30 min dipenda in parte da quella effettuata a 15 min e così via.

    #5040

    C.Coc
    Participant

    Inoltre credo che ogni misura oltre che dalla precedente dipenda anche dall’istante di tempo in cui è stata rilevata. Infine se una variabile tra tempo o cluster ha un p-value molto alto e di conseguenza non è significativa devo riscrivere il modello?
    Nel senso se Cluster ha una valore molto alto devo riscrivere il modello in questo modo:
    Modello = lme(T_Mod1ai0 ~ Tempo, random…, data=…)

Viewing 6 posts - 1 through 6 (of 6 total)

You must be logged in to reply to this topic.