Regressione lineare e non lineare


13

Ho una serie di valori ed y che sono teoricamente correlati esponenziale:xy

y=axb

Un modo per ottenere i coefficienti è applicare logaritmi naturali su entrambi i lati e applicare un modello lineare:

> fit <- lm(log(y)~log(x))
> a <- exp(fit$coefficients[1])
> b <- fit$coefficients[2]

Un altro modo per ottenere ciò è utilizzare una regressione non lineare, dato un set teorico di valori iniziali:

> fit <- nls(y~a*x^b, start=c(a=50, b=1.3))

I miei test mostrano risultati migliori e più legati alla teoria se applico il secondo algoritmo. Tuttavia, vorrei conoscere il significato statistico e le implicazioni di ciascun metodo.

Quale di loro è meglio?


3
Dai un'occhiata a questo post che si occupa di una domanda simile. Questo documento potrebbe anche essere di interesse.
COOLSerdash

5
"esponenziale" di solito implica qualcosa basato su exp(): ciò che hai qui è più comunemente chiamato funzione di potere, legge di potere o legge di ridimensionamento. Altri nomi esistono senza dubbio. Non esiste alcuna connessione con il potere nel senso di verifica delle ipotesi.
Nick Cox,

Risposte:


16

"Better" è una funzione del tuo modello.

Parte della ragione della tua confusione è che hai scritto solo metà del tuo modello.

y=axbyaxb

Ad esempio, i due modelli citati (non i soli modelli possibili in alcun modo) fanno ipotesi completamente diverse sull'errore.

Probabilmente intendi qualcosa di più vicino E(Y|X=x)=axb.

Yx

  • Quando si adatta il modello dei minimi quadrati non lineari, si afferma che gli errori sono additivi e che la deviazione standard degli errori è costante tra i dati:

    yiN(axib,σ2)

    o equivalentemente

    yi=axib+eivar(ei)=σ2

  • al contrario, quando si prendono i log e si adatta un modello lineare, si sta dicendo che l'errore è additivo sulla scala del log e (sulla scala del log) costante tra i dati. Ciò significa che sulla scala delle osservazioni, il termine di errore è moltiplicativo e quindi gli errori sono maggiori quando i valori previsti sono maggiori:

    yilogN(loga+blogxi,σ2)

    o equivalentemente

    yi=axibηiηilogN(0,σ2)

    E(η)σ2

(Puoi fare i minimi quadrati senza assumere la normalità / distribuzioni lognormali, ma il problema centrale in discussione si applica ancora ... e se non sei in nessun posto vicino alla normalità, dovresti probabilmente considerare comunque un diverso modello di errore)

Quindi, ciò che è meglio dipende dal tipo di modello di errore che descrive le circostanze.

yxx


9

Quando si adatta uno dei due modelli, si presuppone che l'insieme di residui (discrepanze tra i valori osservati e previsti di Y) segua una distribuzione gaussiana. Se tale presupposto è vero con i tuoi dati non elaborati (regressione non lineare), non sarà vero per i valori trasformati in log (regressione lineare) e viceversa.

Quale modello è "migliore"? Quello in cui i presupposti del modello corrispondono più da vicino ai dati.

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.