Cosa significa linear nella regressione lineare?


11

In R, se scrivo

lm(a ~ b + c + b*c) 

sarebbe ancora una regressione lineare?

Come fare altri tipi di regressione in R? Gradirei qualche consiglio per libri di testo o tutorial?


Ho provato a riformulare un po 'la tua domanda. Temo che tu stia facendo due domande molto diverse. Per il secondo, molte risorse sono disponibili su questo sito, ma anche su CRAN .
chl

@chl, grazie, non ero chiaro. La mia domanda è davvero questa: se scrivo LM in R, R lo capisce sempre come lineare o cerca di adattarsi a qualsiasi modello, non necessariamente alla regressione lineare ma a qualsiasi regressione?
suprvisr,

No, lm()rappresenta una regressione lineare. Il modello include tre parametri (meno l'intercettazione) per b, ce la loro interazione b:c, che sta per b + c + b:co b*cin breve (R segue la notazione di Wilkinson per i modelli statistici). È richiesto il montaggio di un modello lineare generalizzato (ovvero, dove la funzione di collegamento non è identità, come nel caso del modello lineare sopra indicato) glm().
chl

Risposte:


24

Lineare si riferisce alla relazione tra i parametri che si stanno stimando (ad esempio, ) e il risultato (ad esempio, ). Quindi, è lineare, ma non lo è. Un modello lineare significa che la tua stima del tuo vettore di parametri può essere scritta , dove sono pesi determinati dalla tua procedura di stima. I modelli lineari possono essere risolti algebricamente in forma chiusa, mentre molti modelli non lineari devono essere risolti mediante la massimizzazione numerica utilizzando un computer.y i y = e x β + ε y = e β x + ε β = Σ i w i y i { w i }βyiy=exβ+ϵy=eβx+εβ^=Σiowioyio{wio}


6
+1 In particolare, in un "modello lineare" la variabile dipendente è una funzione lineare dei parametri ma non necessariamente dei dati. y
whuber

Il primo è lineare? davvero - quello alla potenza di x?
suprvisr

2
Sì, perché non è la quantità di interesse (quella per cui ottimizzi) ma invece è. Pertanto, è lineare in . β βXββ
bayerj,

+1, ma questa risposta potrebbe essere migliorata commentando la formula nella domanda.
naught101

1
Noto, in una seconda lettura, che la seconda metà di questa risposta confonde "modello lineare" con "stimatore lineare". I due concetti sono separati e diversi. I modelli non lineari hanno spesso stimatori lineari e i modelli lineari possono avere stimatori non lineari (si consideri GLM, per esempio).
whuber

5

Questo post su minitab.com fornisce una spiegazione molto chiara:

  • Un modello è lineare quando può essere scritto in questo formato:
    • Response = constant + parameter * predictor + ... + parameter * predictor
      • Cioè, quando ogni termine (nel modello) è una costante o il prodotto di un parametro e una variabile predittore.
    • Quindi entrambi sono modelli lineari:
      • Y=B0+B1X1 (questa è una linea retta)
      • Y=B0+B1X12 (Questa è una curva)
  • Se il modello non può essere espresso utilizzando il formato sopra, non è lineare.
    • Esempi di modelli non lineari:
      • X B 1 1Y=B0+X1B1
      • Y=B0cos(B1X1)

4

Starei attento nel porre questa domanda come una domanda di "regressione lineare" rispetto a una domanda di "regressione lineare". Le formule in R hanno regole di cui potresti essere a conoscenza o meno. Per esempio:

http://wiener.math.csi.cuny.edu/st/stRmanual/ModelFormula.html

Supponendo che ti chieda se la seguente equazione è lineare:

a = coeff0 + (coeff1 * b) + (coeff2 * c) + (coeff3 * (b*c))

La risposta è sì, se si assembla una nuova variabile indipendente come:

newv = b * c

Sostituire l'equazione newv sopra nell'equazione originale probabilmente assomiglia a quello che ti aspetti da un'equazione lineare:

a = coeff0 + (coeff1 * b) + (coeff2 * c) + (coeff3 * newv)

Per quanto riguarda i riferimenti, Google "r regression", o qualunque cosa tu pensi possa funzionare per te.


In che modo rinominare qualcosa lo rende lineare? Non capisco, se l'identità newv = b * c regge, non è affatto lineare. Sono confuso.
Bayerj,

@bayer: newv è una nuova variabile. La nuova equazione è una funzione lineare di tre variabili (b, c, newv), in cui i coefficienti forniscono una relazione lineare. Nessuna delle due equazioni è una combinazione lineare di sole due variabili.
bill_080,

@bayer Vedi la risposta di @Charlie. Nel presente esempio, entrambi i modelli sono lineari (indipendentemente dal fatto che R li veda o meno in quanto tali) perché in entrambi aè una funzione lineare dei quattro coefficienti.
whuber

grazie, ha senso ... posso semplicemente aggiungere una nuova variabile neww essendo b * c per ogni caso nel database (medico) e quindi trattarla come regressione lineare?
suprvisr,

2

È possibile scrivere la regressione lineare come equazione di matrice (lineare).

[un'1un'2un'3un'4un'5...un'n]=[B1c1B1*c1B2c2B2*c2B3c3B3*c3B4c4B4*c4B5c5B5*c5...BncnBn*cn]×[αBαcαB*c]+[ε1ε2ε3ε4ε5...εn]

o se lo comprimi:

un'=αBB+αcc+αB*cB*c+ε

BcB*cun'

un'BcB*c


y=un'ect+Bedty=u(ec(t-v)+ed(t-v))un'B


Sento che questa è la risposta migliore, perché risponde alla domanda Perché invece che solo Cosa. Rispondere con "Cosa" non porta a una migliore intuizione.
Esatonico,
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.