Чому лінійна регресія не здатна передбачити результат простої детермінованої послідовності?


9

Кожен мій колега надіслав мені цю проблему, очевидно, роблячи тури в Інтернеті:

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

Здається, відповідь 200.

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

Коли я роблю лінійну регресію в 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')  

Я отримав:

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

Тож моя лінійна модель передбачає .10=154

Коли я розміщую дані, вони виглядають лінійно ... але, очевидно, я припустив щось невірне.

Я намагаюся дізнатися, як найкраще використовувати лінійні моделі в Р. Який правильний спосіб аналізу цієї серії? Де я помилився?


7
Ахм . (i) Вираження проблеми є безглуздим. Як можна 3 = 18? Безумовно, намір є чимось на зразок ; (ii) якщо ви бачите достатньо, щоб написати , і т.д., то, безумовно, ви зможете побачити достатньо, щоб розділити другий доданок на кожен із них ( , і так далі), щоб потім написати: , і т. Д., І миттєво помітити квадратику, . (Ви зробили важку частину, наступний крок ще простіший!)f(3)=1818=3×632=4×86=3×28=4×218=3×3×232=4×4×2f(x)=2x2
Glen_b -Встановіть Моніку

4
Крім того, чи вказала проблема мінімальний критерій змісту інформації щодо відповіді? Якщо я добре пам'ятаю свою математику, є незліченна кількість функцій, що відповідають цим точкам, і всі дають різні відповіді на . Я, як правило, не педантичний, але електронні листи, які витрачають час, заслуговують цього. f(10)
яскрава зірка

1
@TrevorAlexander, якщо ви думаєте, що це питання є марною тратою часу, навіщо турбуватися на нього відповідати? Очевидно, що деякі люди вважають це цікавим.
jwg

Відповіді:


23

Модель регресії, така як відповідна, lm()неявно передбачає, що базовий процес генерування даних є імовірнісним . Ви припускаєте, що правило, яке ви намагаєтеся моделювати, є детермінованим . Тому існує невідповідність між тим, що ви намагаєтеся зробити, і тим, як ви намагаєтеся це зробити.

Є інше програмне забезпечення (тобто не R), яке явно призначене для пошуку / підключення найпростішої функції до детермінованих даних (наприклад, Eureqa ). Для цього може бути пакет R (про який я не знаю), але R призначений для статистичного моделювання ймовірнісних даних.

Щодо відповіді, яку lm()вам дали, вона виглядає розумною, і може бути правильною. Однак я вважаю, що контекст, в якому ця проблема була представлений, рівномірно передбачає, що її слід розуміти як детерміновану. Якщо цього не було, і вам було цікаво, чи підходить це розумне, ви можете помітити одне, що дві крайні точки даних знаходяться вище лінії регресії, тоді як середні дані знаходяться під нею. Це говорить про неправильно вказану функціональну форму. Це також можна побачити у залишках та пристосованому сюжеті ( plot(lm1, which=1):

введіть тут опис зображення

Що стосується моделі, підходить @AlexWilliams, вона виглядає набагато краще:

введіть тут опис зображення


17
+1 Залишковий сюжет розповідає історію таким чином, що її не можна пропустити. Дійсно, це показує, чому "зовнішній вигляд ОП" часто виглядає оманливим - багато кривих функцій можуть виглядати "майже прямо", якщо ми дивимось лише на кілька точок, не близьких до точки повороту. Якщо ви думаєте, що це лінійно, виведіть цю лінію і подивіться, що залишилося!
Glen_b -Встановіть Моніку

1
Неймовірно корисна інформація! Дякую, я дуже ціную це
Бретт Фінні

1
Це абсолютно не пов'язане з розмежуванням імовірнісних та детермінованих даних. Лінійна регресія підходила б і екстраполювала детерміновані дані, якби вона була лінійною. Не вдалося б добре передбачити ймовірнісні дані, якби основна модель була квадратичною.
jwg

3
@jwg: Це має багато спільного з цим. Або ви б завжди відповідали послідовностіn спостереження з (n1)поліном го ступеня, коли жоден поліном нижчого ступеня не давав ідеальної форми?
Scortchi

Я не думаю, що він шукає ідеального пристосування. Він намагається зрозуміти, чому екстрапольоване значення настільки далеко.
jwg

22

Тенденція квадратична не лінійна. Спробуйте:

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

Оновлення: ось код.

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')

І вихід:

   fit  lwr  upr
1  200  200  200
2  800  800  800
3 1800 1800 1800

Ця відповідь мені здається трохи круговою: вся суть проблеми полягає у визнанні квадратичної поведінки. Ви правильно зазначаєте, що як тільки задана квадратична поведінка, лінійна регресія може знайти коефіцієнти. Але фактично ви вже зробили вирішальний аналіз до того моменту, як ви записали перший рядок цієї відповіді.
whuber

5
@whuber - Питання в тому, чому лінійна модель виходить з ладу. Він виходить з ладу, оскільки функціональна форма не є лінійною, а квадратичною. Я хотів дати відповідь простим і точним. Відповідь Гунга добре справляється з деталями та показує, як можна використовувати залишкові сюжети, щоб придумати кращу модель. (Я щойно це робив на ручці та папері.) Я згоден, що його відповідь більш детальна і повна, і я її схвалив.
Алекс Вільямс

13

Я вагаюся, щоб додати чудові відповіді, які дають Алекс Вільямс і Гунг, але є ще один момент, який, на мій погляд, повинен бути зроблений. Питання використовує фрази «лінійна регресія» та «лінійна модель», можливо, припускаючи, що вони означають те саме. Однак звичайне значення "лінійної регресії" стосується Класичної моделі лінійної регресії (CLRM), в якій "лінійна" означає "лінійна в параметрах". Це умова щодо параметрів, а не незалежних змінних. Отже, квадратична модель, така як:

Yi=β1+β2Xi2

як і раніше лінійний у значенні CLRM, тому що він лінійний у параметрах β1 і β2. Навпаки, модель:

Yi=β1+β2Xi

є лінійним за своїми параметрами, а також лінійним в Xi. Замість того, щоб називати його лінійною моделлю, більш точним твердженням є те, що вона лінійна за своїми параметрами і має лінійну функціональну форму. Тож можна сказати, що серія може бути проаналізована за лінійною за своїми параметрами моделлю, за умови, що вона має квадратичну функціональну форму (як показав Алекс Вільямс), але не модель, що має лінійну функціональну форму.


1
Мені завжди важко згадати це. Це чудове доповнення до інших відповідей.
naught101
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.