2009-07-25 10 views
22

Quali funzioni utilizzate in R per adattare una curva ai dati e verificare quanto bene si adatta quella curva? Quali risultati sono considerati buoni?Funzioni di bontà di adattamento in R

+0

Ho usato un software commerciale che tenta numerose formule (prendendo ore, se volete) per trovare la soluzione migliore. Mi piacerebbe trovare qualcosa del genere in R. – Nosredna

+1

Deluso - pensavo che R fosse il dominio dei numeri reali. –

risposta

25

Proprio la prima parte di questa domanda può riempire interi libri. Appena alcune scelte rapide:

  • lm() per i modelli lineari standard
  • glm() per i modelli lineari generalizzati (ad esempio per la regressione logistica)
  • rlm() dal pacchetto di massa per i robusti modelli lineari
  • lmrob() dal pacchetto robustbase per robusta modelli lineari
  • loess() per modelli non lineari/non parametrici

Quindi ci sono modelli specifici del dominio come ad es. serie temporali, micro-econometria, effetti misti e molto altro. Molte delle visualizzazioni delle attività come ad es. Econometrics discutere di questo in modo più dettagliato. Per quanto riguarda la bontà della forma, è anche qualcosa che si può spendere facilmente per un intero libro di discussione.

+0

Qualche raccomandazione per libri o buoni siti web sulla bontà dell'adattamento? –

7

La funzione nls() (http://sekhon.berkeley.edu/stats/html/nls.html) è piuttosto standard per il montaggio della curva dei minimi quadrati non lineari. Chi quadrato (la somma dei residui quadratici) è la metrica che è ottimizzata in tal caso, ma non è normalizzata, quindi non puoi facilmente usarla per determinare quanto sia buona la forma. La cosa principale che dovresti garantire è che i tuoi residui siano normalmente distribuiti. Sfortunatamente non sono sicuro di un modo automatico per farlo.

10

I cavalli da tiro della curva canonica di montaggio in R sono lm(), glm() e nls(). Per me, la bontà dell'adattamento è un sottoproblema nel più ampio problema della selezione del modello. Infatti, l'uso scorretto della bontà dell'adattamento (ad es. Tramite regressione stepwise) può dare origine a un modello seriamente errato (vedi il libro di Harrell su "Regression Modelling Strategies"). Piuttosto che discutere il problema da zero, raccomando il libro di Harrell per lm e glm. Venables e la Bibbia di Ripley sono concise, ma meritano comunque una lettura. "Estendere il modello lineare con R" di Faraway è completo e leggibile. nls non è coperto da queste fonti, ma "Regressione non lineare con R" di Ritz & Streibig colma il vuoto ed è molto pratico.

3

La cosa principale è necessario assicurarsi è che i residui sono normalmente distribuiti. Purtroppo non sono sicuro di un modo automatico per farlo.

qqnorm() potrebbe probabilmente essere modificati per trovare la correlazione tra i quantili di esempio e quantili teoriche. Essenzialmente, questa sarebbe solo un'interpretazione numerica della normale trama quantile. Forse fornire diversi valori del coefficiente di correlazione per diversi intervalli di quantili potrebbe essere utile.Ad esempio, se il coefficiente di correlazione è vicino a 1 per il 97% medio dei dati e molto più basso alle code, questo ci dice che la distribuzione dei residui è approssimativamente normale, con un po 'di stranezza nelle code.

+0

'shapiro.test()' potrebbe anche essere adatto – DaveRGP

2

Meglio essere semplici, e vedere se i metodi lineari funzionano "bene immersi". Puoi giudicare la tua bontà di adattamento IN GENERALE guardando le statistiche R e F F insieme, mai separate. L'aggiunta di variabili al modello che non hanno alcuna relazione con la variabile dipendente può aumentare R2, quindi è necessario considerare anche la statistica F.

È inoltre necessario confrontare il modello con altri modelli nidificati o più semplici. Fai questo usando il test del rapporto di probabilità log, fintanto che le variabili dipendenti sono le stesse.

Il test di Jarque-Bera è utile per testare la normalità della distribuzione residua.

Problemi correlati