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
risposta
Proprio la prima parte di questa domanda può riempire interi libri. Appena alcune scelte rapide:
lm()
per i modelli lineari standardglm()
per i modelli lineari generalizzati (ad esempio per la regressione logistica)rlm()
dal pacchetto di massa per i robusti modelli linearilmrob()
dal pacchetto robustbase per robusta modelli lineariloess()
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.
Qualche raccomandazione per libri o buoni siti web sulla bontà dell'adattamento? –
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.
Il sito R rapida ha una ragionevole buona sintesi delle funzioni di base utilizzate per i modelli di montaggio e testare le crisi, insieme al codice di esempio R:
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.
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.
'shapiro.test()' potrebbe anche essere adatto – DaveRGP
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.
- 1. Test di bontà di adattamento in SciPy
- 2. R Funzioni di pipeline
- 3. Usa Drupal7 AJAX bontà di programmazione
- 4. R: GAM con adattamento sul sottoinsieme di dati
- 5. funzioni di tempo automaticamente sempre in R
- 6. Funzioni del generatore in R
- 7. Algoritmo di pianificazione Adattamento ottimale
- 8. Differenza tra algoritmi di adattamento in scipy
- 9. Schermata di adattamento immagine in una WebView
- 10. Adattamento dell'errore ad eccezione di
- 11. Funzioni e provare() in R
- 12. Adattamento di una distribuzione di Weibull utilizzando Scipy
- 13. Algoritmo di adattamento linea OpenCV
- 14. Utilizzo di punto/punto nelle funzioni R
- 15. Mutating/in-place funzione di invocazione o adattamento in Python
- 16. Esistono funzioni di R dipendenti dal sistema?
- 17. R: Come creare un vettore di funzioni?
- 18. Funzioni di traccia ASCII per R
- 19. Formule in funzioni definite dall'utente in R
- 20. R: Funzioni mascherate
- 21. Adattamento delle colonne in QTableView
- 22. Esecuzione e debug di script e funzioni in R
- 23. Scrittura di funzioni in R, tenendo presente l'ambito dell'ottimizzazione
- 24. Fabbriche di funzioni semplici e pulite in R
- 25. Ottimizzazione ristretta delle funzioni personalizzate in R
- 26. Statistiche di adattamento del modello per una regressione logistica
- 27. Passando funzioni in R come argomenti .Fortran
- 28. Chiamare il metodo di adattamento più vicino
- 29. Adattamento di una distribuzione ai dati - MATLAB
- 30. Adattamento di un coffeescript per utilizzare window.onload
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
Deluso - pensavo che R fosse il dominio dei numeri reali. –