Python | Implementação de Regressão Polinomial
A regressão polinomial é uma forma de regressão linear na qual a relação entre a variável independente xea variável dependente y é modelada como um polinômio de enésimo grau. A regressão polinomial se ajusta a uma relação não linear entre o valor de x e a média condicional correspondente de y, denotada por E (y | x)
Por que regressão polinomial:
- Existem algumas relações que um pesquisador vai supor que são curvilíneas. Claramente, esse tipo de caso incluirá um termo polinomial.
- Inspeção de resíduos. Se tentarmos ajustar um modelo linear a dados curvos, um gráfico de dispersão de resíduos (eixo Y) no preditor (eixo X) terá manchas de muitos resíduos positivos no meio. Portanto, em tal situação, não é apropriado.
- Uma suposição na análise de regressão linear múltipla usual é que todas as variáveis independentes são independentes. No modelo de regressão polinomial, essa suposição não é satisfeita.
Usos de regressão polinomial:
são usados basicamente para definir ou descrever fenômenos não lineares, como:
- Taxa de crescimento dos tecidos.
- Progressão de epidemias de doenças
- Distribuição de isótopos de carbono em sedimentos de lagos
O objetivo básico da análise de regressão é modelar o valor esperado de uma variável dependente y em termos do valor de uma variável independente x. Na regressão simples, usamos a seguinte equação -
y = a + bx + e
Aqui, y é a variável dependente, a é a interceptação de y, b é a inclinação e e é a taxa de erro.
Em muitos casos, este modelo linear não funcionará. Por exemplo, se analisarmos a produção de síntese química em termos de temperatura na qual a síntese ocorre, nesses casos usamos o modelo quadrático
y = a + b1x + b2^2 + e
Aqui, y é a variável dependente de x, a é a interceptação de y e e é a taxa de erro.
Em geral, podemos modelá-lo para o valor enésimo.
y = a + b1x + b2x^2 +....+ bnx^n
Como a função de regressão é linear em termos de variáveis desconhecidas, esses modelos são lineares do ponto de estimativa.
Portanto, por meio da técnica de Mínimos Quadrados, vamos calcular o valor de resposta que é y.
Regressão polinomial em Python:
Para obter o conjunto de dados usado para análise de regressão polinomial, clique aqui .
Etapa 1: Importar bibliotecas e conjunto de dados
Importe as bibliotecas importantes e o conjunto de dados que estamos usando para realizar a regressão polinomial.
# Importing the libraries
import numpy as np
import matplotlib.pyplot as plt
import pandas as pd
# Importing the dataset
datas = pd.read_csv('data.csv')
datas
Etapa 2: dividindo o conjunto de dados em 2 componentes
Divida o conjunto de dados em dois componentes que são X e yX conterá a coluna entre 1 e 2. y conterá a 2 coluna.
X = datas.iloc[:, 1:2].values
y = datas.iloc[:, 2].values
Etapa 3: Ajustando a regressão linear ao conjunto de dados
Ajustando o modelo de regressão linear em dois componentes.
# Fitting Linear Regression to the dataset
from sklearn.linear_model import LinearRegression
lin = LinearRegression()
lin.fit(X, y)
Etapa 4: Ajustando a regressão polinomial ao conjunto de dados
Ajustando o modelo de regressão polinomial em dois componentes X e y.
# Fitting Polynomial Regression to the dataset
from sklearn.preprocessing import PolynomialFeatures
poly = PolynomialFeatures(degree = 4)
X_poly = poly.fit_transform(X)
poly.fit(X_poly, y)
lin2 = LinearRegression()
lin2.fit(X_poly, y)
Etapa 5: Nesta etapa, estamos visualizando os resultados da regressão linear usando o gráfico de dispersão.
# Visualising the Linear Regression results
plt.scatter(X, y, color = 'blue')
plt.plot(X, lin.predict(X), color = 'red')
plt.title('Linear Regression')
plt.xlabel('Temperature')
plt.ylabel('Pressure')
plt.show()
Etapa 6: Visualizando os resultados da regressão polinomial usando o gráfico de dispersão.
# Visualising the Polynomial Regression results
plt.scatter(X, y, color = 'blue')
plt.plot(X, lin2.predict(poly.fit_transform(X)), color = 'red')
plt.title('Polynomial Regression')
plt.xlabel('Temperature')
plt.ylabel('Pressure')
plt.show()
Etapa 7: prever novo resultado com regressão linear e polinomial.
# Predicting a new result with Linear Regression
lin.predict(110.0)
# Predicting a new result with Polynomial Regression
lin2.predict(poly.fit_transform(110.0))
Vantagens de usar a regressão polinomial:
- Uma ampla gama de funções pode ser ajustada sob ele.
- Polinômio basicamente se encaixa em uma ampla gama de curvaturas.
- Polinomial fornece a melhor aproximação da relação entre a variável dependente e independente.
Desvantagens de usar regressão polinomial
- Eles são muito sensíveis aos outliers.
- A presença de um ou dois outliers nos dados pode afetar seriamente os resultados de uma análise não linear.
- Além disso, infelizmente, existem menos ferramentas de validação de modelo para a detecção de outliers na regressão não linear do que para a regressão linear.
As postagens do blog Acervo Lima te ajudaram? Nos ajude a manter o blog no ar!
Faça uma doação para manter o blog funcionando.
70% das doações são no valor de R$ 5,00...
Diógenes Lima da Silva