Обчисліть невизначеність ухилу лінійної регресії на основі невизначеності даних


12

Як обчислити невизначеність ухилу лінійної регресії на основі невизначеності даних (можливо, в Excel / Mathematica)?

Приклад: Приклад сюжету Маємо точки даних (0,0), (1,2), (2,4), (3,6), (4,8), ... (8, 16), але кожне значення y має невизначеність 4. Більшість функцій, які я знайшов, обчислили б невизначеність як 0, оскільки точки ідеально відповідають функції y = 2x. Але, як показано на малюнку, y = x / 2 також відповідають точкам. Це перебільшений приклад, але я сподіваюся, що він показує, що мені потрібно.

EDIT: Якщо я спробую пояснити трохи більше, хоча кожна точка прикладу має певне значення y, ми робимо вигляд, що не знаємо, чи це правда. Наприклад, перша точка (0,0) насправді може бути (0,6) або (0, -6) або будь-що між ними. Я запитую, чи є алгоритм у будь-якій популярній проблемі, яка враховує це. У прикладі точки (0,6), (1,6,5), (2,7), (3,7,5), (4,8), ... (8, 10) все ще потрапляють у діапазон невизначеності, тому вони можуть бути правильними точками, і пряма, яка з'єднує ці точки, має рівняння: y = x / 2 + 6, тоді як рівняння, яке ми отримуємо з нерозрахунку невизначеностей, має рівняння: y = 2x + 0. Отже, невизначеність k дорівнює 1,5, а n - 6.

TL; DR: На малюнку є лінія y = 2x, яка обчислюється, використовуючи найменший квадратний розмір, і вона ідеально підходить до даних. Я намагаюся знайти, скільки можуть змінюватися k і n у y = kx + n, але все-таки підходять до даних, якщо ми знаємо невизначеність значень y. У моєму прикладі невизначеність k дорівнює 1,5, а в n - 6. На зображенні є "найкраща" лінія підгонки та лінія, яка ледь підходить до точок.


1
Якщо у вас є невизначеність у ваших , ти, як правило, не повинен використовувати звичайну лінійну регресію, тому що вона упереджена (хоча невеликі невизначеності призведуть до невеликих упереджень; можливо, тебе це так не хвилює). Чи завжди незрозумілість у вашому y завжди постійна чи вони змінюються? Як ви підганяєте свою лінію? х
Glen_b -Встановити Моніку

Я в основному запитую про невизначеність у році. Але я був би радий, якщо рішення також врахує невизначеність і в x-х. Як правило, вони не є постійними, але рішення, яке вимагає, щоб вони були постійними, було б добре, я також спробував підлаштовуватися з linearfit, fit, findfit у математиці та linest (і спеціальна функція, за якою я виявила, що значення ваг за невизначеностями) у відмінник
bedanec

Чи можете ви пояснити якомога чіткіше, як значення "невизначеності" були б пов'язані з тим, що сталося під час повтору експерименту? тобто що саме представляють ці невизначеності?
Glen_b -Встановити Моніку

Помилка, наприклад, якщо y - вага, але цифрова шкала точна лише до + -6. (Не найкращий приклад з цими значеннями, але, наприклад, коли масштаб показує 255 г, це може бути 255,0 або 255,9)
bedanec

Чи можете ви пояснити, як це стосується першого речення мого запитання?
Glen_b -Встановіть Моніку

Відповіді:


8

Відповідаючи на "Я намагаюся знайти, скільки і в можуть змінитися, але все-таки підходять до даних, якщо ми знаємо невизначеність значень ".кну=кх+ну

Якщо справжнє ставлення є лінійним і похибки в є незалежними нормальними випадковими змінними з нульовим середнім і відомі стандартні відхилення , то довірча область для% є еліпсом , для яких , де - це стандартне відхилення помилки в , - кількість пар , і - верхня фракція розподілу chi-квадрата з ступенями свободи.100 ( 1 - α ) ( k , n ) ( k x i + n - y i ) 2 / σ 2 i < χ 2 dу100(1-α)(к,н)(кхi+н-уi)2/σi2<χг,α2σiуiг(х,у)χг,α2αг

EDIT - Прийняття стандартної похибки кожного дорівнює 3 - тобто взяття помилок на представляти приблизні 95% довірчі інтервали для кожного окремо - рівняння для межі 95% довірчої області для дорівнює .y i ( k , n ) 204 ( k - 2 ) 2 + 72 n ( k - 2 ) + 9 n 2 = 152,271уiуi(к,н)204(к-2)2+72н(к-2)+9н2=152.271

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


4

Я робив наївну пряму вибірку за допомогою цього простого коду в Python:

import random
import numpy as np
import pylab
def uncreg(x, y, xu, yu, N=100000):
    out = np.zeros((N, 2))
    for n in xrange(N):
        tx = [s+random.uniform(-xu, xu) for s in x]
        ty = [s+random.uniform(-yu, yu) for s in y]
        a, b = np.linalg.lstsq(np.vstack([tx, np.ones(len(x))]).T, ty)[0]
        out[n, 0:2] = [a, b]
    return out
if __name__ == "__main__":
    P = uncreg(np.arange(0, 8.01), np.arange(0, 16.01, 2), 0.1, 6.)
    H, xedges, yedges = np.histogram2d(P[:, 0], P[:, 1], bins=(50, 50))
    pylab.imshow(H, interpolation='nearest', origin='low', aspect='auto',
                 extent=[xedges[0], xedges[-1], yedges[0], yedges[-1]])

і отримав це: Гістограма результатів прямого відбору проб

Звичайно, ви можете здати потрібні Pдані або змінити розподіли невизначеності.


0

Раніше я був на одному полюванні і думаю, що це може бути корисним місцем для початку. Макрофункція excel дає лінійні терміни придатності та їх невизначеності на основі табличних точок та невизначеності для кожної точки в обох ординатах. Можливо, знайдіть папір, на якій ґрунтується, щоб вирішити, чи хочете ви реалізувати його в іншому середовищі, змінити і т. Д. (Для Mathematica зроблено певну роботу). Начебто, вона має гарну документацію про проходження на поверхні, але притулок Я не відкрив макрос, щоб побачити, наскільки він добре позначений.

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