5
respostas

Resultado diferente

O meu deu o valor de 208 e uns quebrados.

Segue print

Poderiam me ajudar?

5 respostas

Oii, Maysa! Como você está?

O seu código está no caminho certo! Mas, para que eu possa te ajudar de forma assertiva, poderia compartilhar o link do seu notebook, por gentileza? Dessa forma, eu consigo ter a mesma visibilidade que você do código inteiro.

Fico à disposição e desejo bons estudos!

O link é esse https://colab.research.google.com/drive/14kSpCd-j7CxwQMdgETgMir6JiCuaFDM0#scrollTo=BwQR3YxTcam0 Você consegue visualizar?

Oii, Maysa!

Obrigada pelo retorno! Infelizmente o acesso está bloqueado.

Revise se as configurações de compartilhamento estão assim:

Captura da janela de compartilhamento do google colab. Na imagem vemos o titulo de compartilhamento e o nome do notebook. Abaixo contem as informações do dono da conta, o acesso geral está como qualquer pessoa que tenha o link e apenas como leitor.

Fico à disposição.

Realmente, o acesso estava restrito. Ajustei, poderia verificar novamente, por favor. Segue link mais uma vez https://colab.research.google.com/drive/14kSpCd-j7CxwQMdgETgMir6JiCuaFDM0?usp=sharing

Oii, Maysa!

Agradeço por aguardar o retorno.

Vi o seu código e pude notar pequenos erros que podem interferir no resultado do código, vamos ver quais são:

  • No código, você usa dataset para acessar as colunas e neste caso deveria ser dataset1 conforme você definiu o seu conjunto de dados, o que gera um erro. Uma sugestão de correção seria:
Y1 = dataset1['Y']
X1 = sm.add_constant(dataset1['X'])
  • Ainda no código, foi usado Y e X para definir o modelo, e na segunda parte do código é usado para referenciar como: Y1 e X1. Na linha onde executa o código sm.OLS(Y, X, missing='drop').fit(), é utilizado a primeira forma das váriaveis definidas X e Y, para que o código funcione é preciso usar as que você definiu como X1 e Y1. Por exemplo:
resultado_regressao1 = sm.OLS(Y1, X1, missing='drop').fit()

Com os dados inconsistentes, ao realizar a predição podemos esperar um erro ou valor diferente pelo código não está ajustado certinho. Segue o código ajustado de acordo com as sugestões:

dataset1 = {
    'Y': [670, 220, 1202, 188, 1869, 248, 477, 1294, 816, 2671, 1403, 1586, 3468, 973, 701, 5310, 10950, 2008, 9574, 28863, 6466, 4274, 6432, 1326, 1423, 3211, 2140],
    'X': [1.59, 0.56, 2.68, 0.47, 5.2, 0.58, 1.32, 3.88, 2.11, 5.53, 2.6, 2.94, 6.62, 1.91, 1.48, 10.64, 22.39, 4.2, 21.9, 59.66, 14.22, 9.57, 14.67, 3.28, 3.49, 6.94, 6.25]
}

Y1 = dataset1['Y']
X1 = sm.add_constant(dataset1['X'])

resultado_regressao1 = sm.OLS(Y1, X1).fit()
resultado_regressao1.params

resultado_regressao1.predict([1, 2.345678])[0]

Como saída teremos: 960.8657076138518 que arredondando conseguimos o resultado de 961. Deixo o notebook contendo o teste que fiz com esse código caso queira explorá-lo: Notebook teste. Está no título: Código Aluna Teste.

Espero ter ajudado. Qualquer dúvida, conte conosco.

Bons estudos, Maysa!