Calcular a incerteza da inclinação da regressão linear com base na incerteza dos dados

12

Como calcular a incerteza da inclinação da regressão linear com base na incerteza dos dados (possivelmente no Excel / Mathematica)?

Exemplo: Gráfico de exemplo Vamos ter pontos de dados (0,0), (1,2), (2,4), (3,6), (4,8), ... (8, 16), mas cada valor y tem uma incerteza de 4. A maioria das funções que encontrei calcularia a incerteza como 0, pois os pontos correspondem perfeitamente à função y = 2x. Mas, como mostrado na figura, y = x / 2 também corresponde aos pontos. É um exemplo exagerado, mas espero que mostre o que eu preciso.

Edição: Se eu tentar explicar um pouco mais, enquanto cada ponto no exemplo tem um certo valor de y, fingimos que não sabemos se é verdade. Por exemplo, o primeiro ponto (0,0) poderia realmente ser (0,6) ou (0, -6) ou qualquer outra coisa. Estou perguntando se existe algum algoritmo em algum dos problemas populares que leva isso em consideração. No exemplo, os pontos (0,6), (1,6,5), (2,7), (3,7,5), (4,8), ... (8, 10) ainda se enquadram na faixa de incerteza, então eles podem ser os pontos certos e a linha que liga esses pontos tem uma equação: y = x / 2 + 6, enquanto a equação que obtemos por não considerar as incertezas tem a equação: y = 2x + 0. Portanto, a incerteza de k é 1,5 e n ​​é 6.

TL; DR: Na figura, existe uma linha y = 2x que é calculada usando o mínimo de ajuste quadrado e que ajusta perfeitamente os dados. Estou tentando descobrir o quanto k e n em y = kx + n podem mudar, mas ainda ajustam os dados se soubermos incerteza nos valores de y. No meu exemplo, a incerteza de k é 1,5 e em n é 6. Na imagem, há a 'melhor' linha de ajuste e uma linha que mal se encaixa nos pontos.

bedanec
fonte
1
x
Estou perguntando principalmente sobre a incerteza em y. Mas ficaria feliz se a solução considerasse a incerteza também nos x's. Geralmente eles não são constantes, mas uma solução que exige que eles sejam constantes também seria boa. Tentei ajustar com linearfit, fit, findfit no mathematica e linest (e uma função personalizada que achei que pesa valores por incertezas) em excel.
precisa saber é
Você pode explicar o mais claramente possível como os valores da "incerteza" estariam relacionados ao que aconteceria sob uma repetição do experimento? isto é, precisamente, o que essas incertezas representam?
Glen_b -Reinstala Monica
Erre, por exemplo, se y for o peso, mas a balança digital for precisa apenas de + -6. (Não é o melhor exemplo, com estes valores, mas por exemplo, quando mostras escala 255g poderia ser 255,0 ou 255,9)
bedanec
Você poderia explicar como isso se relacionaria com a primeira frase da minha pergunta, por favor?
Glen_b -Reinstate Monica

Respostas:

8

kny=kx+ny

y100(1α)(k,n)(kxi+nyi)2/σi2<χd,α2σiyid(x,y)χd,α2αd

yiyi(k,n)204(k2)2+72n(k2)+9n2=152.271

insira a descrição da imagem aqui

Ray Koopman
fonte
4

Eu fiz uma amostragem direta ingênua com este código simples em 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]])

e entendi: Histograma dos resultados da amostragem direta

É claro que você pode explorar os Pdados que deseja ou alterar as distribuições de incerteza.

E.Mroz
fonte
0

Eu estava na mesma caçada antes e acho que este pode ser um lugar útil para começar. A função macro do Excel fornece termos de ajuste linear e suas incertezas com base em pontos tabulares e incerteza para cada ponto nas duas ordenadas. Talvez procure o artigo em que se baseia para decidir se você deseja implementá-lo em um ambiente diferente, modificar etc. abriu a macro para ver como está anotada.

convidado simpático
fonte