Regressione lineare vincolata attraverso un punto specificato


18

Ho un punto (x, y) che ho bisogno di un regressore lineare per passare attraverso un set di dati (X, Y). Come posso implementarlo in R?


@cardinal Buona risposta! (Forse potresti
postarlo

@cardinale. Proprio sui soldi. Pubblica questo come una risposta - minimizziamo il numero di domande senza risposta. : O) Ps. I voti positivi sono arrivati ​​a modo tuo.
M. Tibbits,

Grazie cardinale A proposito, c'è un modo per forzare la linea di regressione ad avere una pendenza negativa?
reisner,

1
Se la linea adattata non ha una pendenza negativa, la cosa migliore che puoi fare è una pendenza zero, che passerà attraverso il punto , determinandolo in modo univoco. (x,y)
whuber

Ho eliminato il mio commento e l'ho leggermente ampliato in una risposta completa.
cardinale il

Risposte:


24

Se è il punto attraverso il quale deve passare la linea di regressione, adattare il modello , ovvero una regressione lineare con "nessuna intercettazione" su un set di dati tradotto . In , questo potrebbe apparire . Nota alla fine che indica che nessun termine di intercettazione dovrebbe essere adatto.(x0,y0)yy0=β(xx0)+εRlm( I(y-y0) ~ I(x-x0) + 0)+ 0lm

A seconda della facilità con cui sei convinto, ci sono molti modi per dimostrare che questo fornisce effettivamente la risposta corretta. Se si desidera stabilirlo formalmente, un metodo semplice è utilizzare i moltiplicatori di Lagrange.

Il fatto che sia o meno una buona idea forzare una linea di regressione a passare attraverso un punto particolare è una questione separata e dipende dal problema. In generale, vorrei avvertire personalmente questo, a meno che non ci sia una ragione molto valida (ad esempio, considerazioni teoriche molto forti). Per prima cosa, il montaggio del modello completo può fornire un mezzo per misurare la mancanza di adattamento. Come seconda cosa, se si è per lo più interessati a valutare il modello potere esplicativo per i valori di e "lontano" da , quindi la rilevanza del punto fisso diventa sospetto.xy(x0,y0)

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.