Eu tenho um problema de regressão linear. Em resumo, eu tenho um conjunto de dados, eu o dividi em dois subconjuntos. Um subconjunto é usado para encontrar a regressão linear (subconjunto de treinamento), outro é usado para avaliá-la (subconjunto de avaliação). Minha pergunta é como avaliar o resultado dessa regressão linear após aplicá-la ao subconjunto de dados de avaliação?
Aqui estão os detalhes:
No subconjunto de treinamento, faço regressão linear: , onde é a verdade básica (também conhecida como destino), é uma variável independente. Então eu encontrei e . ( e são fornecidos no subconjunto de treinamento).x a b x y
Agora, usando e encontrado acima do subconjunto de treinamento, aplicá-los para o subconjunto de avaliação, achei . Em outras palavras, esses são encontrados na regressão linear com . Agora, além de , eu também tenho do conjunto de avaliação. Como avalio meu resultado (quanto difere de )? Algum modelo matemático geral para fazer isso? Precisa ser algum tipo de modelo / fórmula matemática. Posso pensar em diferentes maneiras de fazer isso, mas elas são meio ad-hoc ou simples, mas isso é para um trabalho científico, então coisas que soam ad-hoc não podem ser usadas aqui, infelizmente.b y ′ = a x ′ + b y ′ x ′ y ′ y y ′ y
Qualquer ideia?
fonte
Respostas:
Eu concordo com o @Octern que raramente vemos pessoas usando divisões de trem / teste (ou mesmo coisas como validação cruzada) para modelos lineares. Overfitting (quase) certamente não é um problema com um modelo muito simples como este.
Se você quiser ter uma noção da "qualidade" do seu modelo, informe os intervalos de confiança (ou seus equivalentes bayesianos) em torno dos seus coeficientes de regressão. Existem várias maneiras de fazer isso. Se você sabe / pode assumir que seus erros são normalmente distribuídos, existe uma fórmula simples (e os pacotes de análise de dados mais populares fornecerão esses valores). Outra alternativa popular é calculá-los por meio de reamostragem (por exemplo, bootstrapping ou jackknifing), o que faz menos suposições sobre a distribuição de erros. Nos dois casos, eu usaria o conjunto completo de dados para o cálculo.
fonte
se você realmente está bem com seu modelo de treinamento linear e deseja saber quão bem ele preveria seus dados de teste, tudo o que você precisaria fazer seria usar a fórmula do modelo linear já existente e incluir os coeficientes estimados a (= interceptação) eb (coeficiente de regressão, também chamado de declive) resultante do primeiro modelo.
deve parecer com y = a + b * X aqui alguns números imaginários ... y = 2 + 0,5 * X
Qual software você está usando? Você está usando R? Nesse caso, você pode usar a função predict.lm () e aplicá-la no seu segundo conjunto de dados.
fonte
fonte