Veri belirsizliğine dayalı olarak doğrusal regresyon eğiminin belirsizliğini hesaplayın


12

Veri belirsizliğine dayalı olarak doğrusal regresyon eğiminin belirsizliği nasıl hesaplanır (muhtemelen Excel / Mathematica'da)?

Örnek: Örnek grafik (0,0), (1,2), (2,4), (3,6), (4,8), ... (8, 16) veri noktalarına sahip olalım, ancak her y değerinin Bulduğum çoğu işlev, noktalar y = 2x işleviyle mükemmel bir şekilde eşleştiğinden belirsizliği 0 olarak hesaplar. Ancak, resimde gösterildiği gibi, y = x / 2 noktalarla da eşleşir. Bu abartılı bir örnek, ama umarım neye ihtiyacım olduğunu gösterir.

DÜZENLEME: Biraz daha fazla açıklamaya çalışırsam, örneğin her noktasında belirli bir y değeri varken, bunun doğru olup olmadığını bilmiyoruz gibi davranırız. Örneğin, ilk nokta (0,0) aslında (0,6) veya (0, -6) veya aradaki herhangi bir şey olabilir. Bunu dikkate alan popüler sorunlardan herhangi birinde bir algoritma olup olmadığını soruyorum. Örnekte (0,6), (1,6,5), (2,7), (3,7,5), (4,8), ... (8, 10) noktaları hala belirsizlik aralığındadır, bu yüzden doğru noktalar olabilirler ve bu noktaları birleştiren çizginin bir denklemi vardır: y = x / 2 + 6, belirsizlikleri hesaba katmamaktan elde ettiğimiz denklem şu şekildedir: y = 2x + 0. Yani k belirsizliği 1,5 ve n 6'dır.

TL; DR: Resimde, en az kare sığdırma kullanılarak hesaplanan y = 2x çizgisi var ve verilere mükemmel şekilde uyuyor. Y = kx + n ne kadar k ve n değişebilir bulmaya çalışıyorum ama y değerlerinde belirsizliği biliyorsanız hala veri sığdırmak. Örneğimde, k belirsizliği 1.5 ve n'de 6'dır. Görüntüde 'en iyi' uyum çizgisi ve noktalara zar zor uyan bir çizgi var.


1
Eğer ' lerinizde belirsizlik varsa , genellikle sıradan doğrusal regresyon kullanmamalısınız çünkü önyargılıdır (küçük belirsizlikler küçük yanlılığa neden olur; belki de çok fazla umursamazsınız). Sizin y'deki belirsizlikler her zaman sabit mi yoksa değişiyor mu? Çizginizi nasıl takıyorsunuz? x
Glen_b-Monica'yı Yeniden Başlat

Ben esas olarak y'deki belirsizliği soruyorum. Ancak çözüm, x'lerde de belirsizliği göz önünde bulundurursa mutlu olurum. Genellikle sabit değildirler, ancak sabit olmalarını gerektiren bir çözüm de iyi olurdu, matematiksel ve linestte lineer fit, fit, findfit (ve belirsizliklere göre değerlerin ağırlık olduğunu bulduğum özel bir işlev) excel.
bedanec

"Belirsizlik" değerlerinin denemenin tekrarı ile neler olabileceğini olabildiğince açık bir şekilde açıklayabilir misiniz? yani bu belirsizlikler tam olarak neyi temsil ediyor?
Glen_b -Reinstate Monica

Err, örneğin y ağırlık ise, ancak dijital ölçek sadece + -6 için doğruysa. (Bu değerlerle en iyi örnek değil, ancak ölçek 255g gösterildiğinde 255.0 veya 255.9 olabilir)
bedanec

Bunun sorumun ilk cümlesiyle nasıl bir ilişki kuracağını açıklar mısınız?
Glen_b-Monica 14

Yanıtlar:


8

Yanıtlama "Ben ne kadar bulmaya çalışıyorum ve de değiştirmek ama hala biz belirsizlik biliyorsanız verilerine uyacak değerlerine."kny=kx+ny

Gerçek bir ilişki doğrusaldır ve hatalar ise sıfır araçlarla bağımsız normal rastgele değişkenler ve bilinen standart sapmalar daha sonra için% güven bölgesi için elips , hata standart sapmasıdır , sayısıdır , çift ve ki-kare dağılımının serbestlik derecesine sahip üst .y100(1α)(k,n)(kxi+nyi)2/σi2<χd,α2σiyid(x,y)χd,α2αd

DÜZENLEME - Her standart hatasının 3 olması - yani, her için yaklaşık% 95 güven aralığını temsil etmek için hata çubuklarının ayrı ayrı alınması -% 95 güven bölgesinin sınırı için denklem olan .y i ( k , n ) 204 ( k - 2 ) 2 + 72 n ( k - 2 ) + 9 n 2 = 152.271yiyi(k,n)204(k2)2+72n(k2)+9n2=152.271

resim açıklamasını buraya girin


4

Python bu basit kod ile saf bir doğrudan örnekleme yaptım:

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

ve anladım: Doğrudan örnekleme sonuçlarının histogramı

Tabii ki istediğiniz Pveri için mayın veya belirsizlik dağılımlarını değiştirebilirsiniz.


0

Daha önce aynı ava oldu ve sanırım bu başlamak için yararlı bir yer olabilir. Excel makro fonksiyonu, doğrusal uyum terimlerini ve bunların her iki koordinattaki her bir nokta için tablo ve noktalara dayalı belirsizliklerini ve belirsizliğini verir. Belki de farklı bir ortamda uygulamak, değiştirmek vb. ne kadar iyi açıklamalı olduğunu görmek için makroyu açmadınız.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.