Come leggere la bontà di adattamento su nls di R?


12

Sto cercando di interpretare l'output di nls (). Ho letto questo post ma non capisco ancora come scegliere la soluzione migliore. Dai miei attacchi ho due uscite:

> summary(m)

  Formula: y ~ I(a * x^b)

  Parameters:
  Estimate Std. Error t value Pr(>|t|)    
  a 479.92903   62.96371   7.622 0.000618 ***
  b   0.27553    0.04534   6.077 0.001744 ** 
  ---
  Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 

  Residual standard error: 120.1 on 5 degrees of freedom

  Number of iterations to convergence: 10 
  Achieved convergence tolerance: 6.315e-06 

e

> summary(m1)

  Formula: y ~ I(a * log(x))

  Parameters:
  Estimate Std. Error t value Pr(>|t|)    
  a   384.49      50.29   7.645 0.000261 ***
  ---
  Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 

  Residual standard error: 297.4 on 6 degrees of freedom

  Number of iterations to convergence: 1 
  Achieved convergence tolerance: 1.280e-11

Il primo ha due parametri e un errore residuo più piccolo. Il secondo solo un parametro ma il peggior errore residuo. Qual è la soluzione migliore?


4
C'è molto di più per valutare un modello che guardare una o due statistiche riassuntive. Che aspetto hanno i residui? Qualcuno dei dati mostra troppa leva? Cosa dice la bontà della diagnostica in forma? La teoria suggerisce che uno di questi modelli dovrebbe essere preferito? Per quali valori diXquesti accoppiamenti differiscono sostanzialmente e importa? Ecc.
whuber

3
Ho cancellato la mia risposta, che mi ha suggerito di usare AIC, perché un commento ha reso convincente il fatto che l'AIC non è generalmente applicabile per la selezione degli nlsaccoppiamenti. Proverei sempre a decidere per un modello non lineare basato sulla conoscenza meccanicistica, in particolare se il set di dati è piccolo come il tuo.
Roland

1
Hmmm. Il commentatore originale sulla risposta ora cancellata di @Roland sarebbe disposto a ripubblicare il commento? Non è immediatamente ovvio per me perché l'AIC non sia appropriato ... (anche se stat.ethz.ch/pipermail/r-help/2010-August/250742.html fornisce alcuni suggerimenti) - e come nota finale, se si stai cercando di identificare una trasformazione di potenza, potresti provare le trasformazioni di Box-Cox ( boxcoxnel MASSpacchetto)
Ben Bolker,

1
AIC potrebbe essere utilizzato per selezionare i modelli.

Risposte:


2

Puoi semplicemente usare il test F e Anova per confrontarli. Ecco alcuni codici

> x <- 1:10
> y <- 2*x + 3                            
> yeps <- y + rnorm(length(y), sd = 0.01)
> 
> 
> m1=nls(yeps ~ a + b*x, start = list(a = 0.12345, b = 0.54321))
> summary(m1)

Formula: yeps ~ a + b * x

Parameters:
   Estimate Std. Error t value Pr(>|t|)    
a 2.9965562  0.0052838   567.1   <2e-16 ***
b 2.0016282  0.0008516  2350.6   <2e-16 ***
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 

Residual standard error: 0.007735 on 8 degrees of freedom

Number of iterations to convergence: 2 
Achieved convergence tolerance: 3.386e-09 

> 
> 
> m2=nls(yeps ~ a + b*x+c*I(x^5), start = list(a = 0.12345, b = 0.54321,c=10))
> summary(m2)

Formula: yeps ~ a + b * x + c * I(x^5)

Parameters:
   Estimate Std. Error  t value Pr(>|t|)    
a 3.003e+00  5.820e-03  516.010   <2e-16 ***
b 1.999e+00  1.364e-03 1466.004   <2e-16 ***
c 2.332e-07  1.236e-07    1.886    0.101    
---
Signif. codes:  0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1   1 

Residual standard error: 0.006733 on 7 degrees of freedom

Number of iterations to convergence: 2 
Achieved convergence tolerance: 1.300e-06 

> 
> anova(m1,m2)
Analysis of Variance Table

Model 1: yeps ~ a + b * x
Model 2: yeps ~ a + b * x + c * I(x^5)
  Res.Df Res.Sum Sq Df     Sum Sq F value Pr(>F)
1      8 0.00047860                             
2      7 0.00031735  1 0.00016124  3.5567 0.1013
>

5
Maggiori informazioni su come interpretare i risultati?
skan

Per favore, espandi. Con il mio set di dati non ottengo alcun output per il valore F e per Pr (> F). Qual è lo scopo di eseguire le analisi anova? Conosco solo che viene utilizzato per confrontare categorie e non modelli.
user3386170,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.