Por que a regressão linear não é capaz de prever o resultado de uma sequência determinística simples?

9

Um colega meu me enviou esse problema aparentemente fazendo rondas na internet:

If $3 = 18, 4 = 32, 5 = 50, 6 = 72, 7 = 98$, Then, $10 =$ ?

A resposta parece ser 200.

3*6  
4*8  
5*10  
6*12  
7*14  
8*16  
9*18  
10*20=200  

Quando eu faço uma regressão linear em R:

data     <- data.frame(a=c(3,4,5,6,7), b=c(18,32,50,72,98))  
lm1      <- lm(b~a, data=data)  
new.data <- data.frame(a=c(10,20,30))  
predict  <- predict(lm1, newdata=new.data, interval='prediction')  

Eu recebo:

  fit      lwr      upr  
1 154 127.5518 180.4482  
2 354 287.0626 420.9374  
3 554 444.2602 663.7398  

Então, meu modelo linear está prevendo .10=154

Quando plogo os dados, eles parecem lineares ... mas obviamente assumi algo que não está correto.

Estou tentando aprender a melhor forma de usar modelos lineares em R. Qual é a maneira correta de analisar esta série? Onde foi que eu errei?

Brett Phinney
fonte
7
Ahem . (i) A expressão do problema não faz sentido. Como pode 3 = 18? Certamente a intenção é algo como ; (ii) se você pode ver o suficiente para escrever , , etc., certamente poderá ver o suficiente para dividir o segundo termo em cada um deles ( , e assim por diante) para escrever: , , etc, e localize instantaneamente o quadrático, . (Você fez a parte difícil, o próximo passo é ainda mais simples!)f(3)=188 = 4 × 2 18 = 3 × 3 × 2 32 = 4 × 4 × 2 f ( x ) = 2 x 218=3×632.=4×86=3×28=4×218=3×3×232.=4×4×2f(x)=2x2
Glen_b -Reinstate Monica
4
Além disso, o problema especificou um critério mínimo de conteúdo de informações na resposta? Se bem me lembro da matemática, há um número incontável de funções que se encaixam nesses pontos, todas dando respostas diferentes para . Normalmente não sou pedante, mas os e-mails que desperdiçam tempo merecem isso. f(10)
estrela brilhante
11
@TrevorAlexander Se você acha que essa pergunta é uma perda de tempo, por que se preocupar em responder a ela? Claramente, algumas pessoas acham interessante.
GTC
@jwg porque alguém está errado na internet . ;)
estrela brilhante

Respostas:

23

Um modelo de regressão, como o ajustado por, lm()implica implicitamente que o processo de geração de dados subjacente é probabilístico . Você está assumindo que a regra que você está tentando modelar é determinística . Portanto, há uma incompatibilidade entre o que você está tentando fazer e a maneira como está tentando fazê-lo.

Existem outros softwares (ie, não R) que são explicitamente projetados para encontrar / ajustar a função mais simples aos dados determinísticos (um exemplo seria o Eureqa ). Pode haver um pacote R para isso (que eu não conheço), mas R é destinado à modelagem estatística de dados probabilísticos.

Quanto à resposta que lm()lhe deu, parece razoável e pode estar certa. No entanto, reúno o contexto em que esse problema foi apresentado implicou fortemente que ele deveria ser entendido como determinístico. Se não fosse esse o caso, e você estivesse se perguntando se o ajuste era razoável, uma coisa que você pode notar é que os dois pontos extremos estão acima da linha de regressão, enquanto os dados do meio estão todos abaixo. Isso sugere uma forma funcional especificada incorretamente. Isso também pode ser visto nos resíduos versus plotagem ajustada ( plot(lm1, which=1):

insira a descrição da imagem aqui

Quanto ao modelo ajustado por @AlexWilliams, parece muito melhor:

insira a descrição da imagem aqui

- Reinstate Monica
fonte
17
+1 O enredo residual conta a história de tal maneira que não se pode perder. De fato, mostra por que o "aspecto linear" do OP é muitas vezes enganoso - muitas funções curvas podem parecer "quase retas" se apenas olharmos para alguns pontos que não estão próximos de um ponto de virada. Se você acha que é linear, retire essa linha e veja o que resta!
Glen_b -Replica Monica
11
Informação incrivelmente útil! Obrigado, eu realmente aprecio isso
Brett Phinney
11
Isso não tem absolutamente nada a ver com a distinção entre dados probabilísticos e determinísticos. A regressão linear ajustaria e extrapolaria os dados determinísticos se fossem lineares. Falharia em prever bem os dados probabilísticos se o modelo subjacente fosse quadrático.
GTC
3
n(n1)
Eu não acho que ele está procurando um ajuste perfeito. Ele está tentando entender por que o valor extrapolado está tão distante.
GTC
22

A tendência é quadrática, não linear. Tentar:

lm1 <- lm(b~I(a^2), data=data)

Atualização: Aqui está o código.

data <- data.frame(a=c(3,4,5,6,7),b=c(18,32,50,72,98))
lm1 <- lm(b~I(a^2), data=data)
new.data <- data.frame(a=c(10,20,30))
predict(lm1, newdata = new.data, interval='prediction')

E saída:

   fit  lwr  upr
1  200  200  200
2  800  800  800
3 1800 1800 1800
Alex Williams
fonte
Essa resposta me parece um pouco circular: o ponto principal do problema é reconhecer o comportamento quadrático. Você assinala corretamente que, uma vez especificado o comportamento quadrático, a regressão linear pode encontrar os coeficientes. Mas, na verdade, você já fez a análise crucial no momento em que escreveu a primeira linha desta resposta.
whuber
5
@ whuber - A questão é por que um modelo linear falha. Ele falha porque a forma funcional não é linear, é quadrática. Eu queria dar a resposta simples e direta ao ponto. A resposta de Gung faz um bom trabalho ao entrar em detalhes e mostra como você pode usar os gráficos residuais para criar um modelo melhor. (Acabei de fazer isso em papel e caneta.) Concordo que a resposta dele é mais detalhada e completa e a votei de forma positiva.
Alex Williams
13

Hesito em acrescentar às excelentes respostas dadas por Alex Williams e gung, mas há outro ponto que eu acho que deve ser feito. A pergunta usa as frases 'regressão linear' e 'modelo linear', possivelmente sugerindo que elas significam o mesmo. No entanto, o significado usual de 'regressão linear' refere-se ao Modelo de Regressão Linear Clássica (CLRM), no qual 'linear' significa 'linear nos parâmetros'. Esta é uma condição nos parâmetros, não nas variáveis ​​independentes. Portanto, um modelo quadrático como:

Yi=β1+β2Xi2

β1β2

Yi=β1+β2Xi

XEu

Adam Bailey
fonte
11
Eu sempre tenho dificuldade em lembrar disso. Este é um ótimo complemento para as outras respostas.
naught101