Bagaimana cara membaca kebaikan yang sesuai pada nls dari R?

12

Saya mencoba menafsirkan output dari nls (). Saya telah membaca posting ini tetapi saya masih tidak mengerti bagaimana memilih yang paling cocok. Dari cocok saya, saya memiliki dua output:

> 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 

dan

> 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

Yang pertama memiliki dua parameter dan kesalahan residual yang lebih kecil. Parameter kedua hanya satu tetapi kesalahan residual terburuk. Mana yang paling cocok?

emanuele
sumber
4
Ada jauh lebih banyak untuk menilai model daripada melihat satu atau dua statistik ringkasan. Seperti apa residunya? Apakah ada data yang menunjukkan leverage terlalu banyak? Apa yang dikatakan goodness of fit diagnostik? Apakah teori menyarankan salah satu model ini harus lebih disukai? Untuk nilai apa yang cocok ini berbeda secara substansial dan apakah itu penting? Dllx
whuber
3
Saya menghapus jawaban saya, yang disarankan untuk digunakan AIC, karena komentar membuat alasan kuat bahwa AIC umumnya tidak berlaku untuk pemilihan nlskecocokan. Saya akan selalu mencoba untuk memutuskan untuk model nonlinier berdasarkan pengetahuan mekanistik, terutama jika set data sekecil milik Anda.
Roland
1
Hmmm. Apakah komentator asli pada @ Roland's jawaban yang sekarang dihapus bersedia untuk memposting ulang komentar? Tidak segera jelas bagi saya mengapa AIC tidak akan sesuai ... (meskipun stat.ethz.ch/pipermail/r-help/2010-August/250742.html memberikan beberapa petunjuk) - dan sebagai catatan terakhir, jika Anda Sedang mencoba mengidentifikasi transformasi kekuatan, Anda dapat mencoba transformasi Box-Cox ( boxcoxdalam MASSpaket)
Ben Bolker
1
AIC dapat digunakan untuk memilih model.

Jawaban:

2

Anda cukup menggunakan uji F dan anova untuk membandingkannya. Berikut ini beberapa kode.

> 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
>
Stat
sumber
5
Informasi lebih lanjut tentang cara menafsirkan hasil?
skan
Silakan berkembang. Dengan dataset saya, saya tidak mendapatkan output untuk nilai F dan untuk Pr (> F). Apa gunanya menjalankan analisis anova? Saya hanya terbiasa menggunakannya untuk membandingkan kategori bukan model.
user3386170