Primeira vez aqui? Seja bem vindo e cheque o FAQ!
x

Exercício 59 - Cap 14 - Mathematical Statistics and Data Analysis - John Rice

0 votos
19 visitas
perguntada Abr 26 em Estatística por Ricardo Nunes (11 pontos)  

Considere a seguinte tabela de dados:

A imagem será apresentada aqui.

a) Plote o gráfico de Pressão por Volume. A relação aparenta ser linear?

b) Calcule a regressão linear da Pressão sobre o Volume e faça um plot dos resíduos pelo Volume. O que o plot dos resíduos mostram?

c) Tente ajustar pressão como função quadrática do volume. O que você acha do ajuste?

Compartilhe
comentou Abr 27 por Lucas Iantorno Klotz (21 pontos)  
editado Abr 27 por Lucas Iantorno Klotz

Excelente, Ricardo, interessante a adição de uma nova variável no modelo. Em especial porque corrobora a ideia de que o modelo não é fiel ao estudo do fenômeno.

Aqui segue o sumário do teste com a variável extra:

print(result_2.summary())

A imagem será apresentada aqui.

Destaque para o resultado curioso do \(R^2\). Isso nos mostra como o R-quadrado não é garantia de um modelo acurado, complementando o já discutido fato de que os resíduos não tiveram variância constante. Embaixo observamos que a relação linear permanece com a regressão do item c):

plt.scatter(tankvolume['Pressure'], tankvolume['Volume'], color="green")
plt.plot(tankvolume['Pressure'],tankvolume['Fitted_Values_Quadratic'], color="orange" )   
plt.ylabel('Volume (L)')
plt.xlabel('Pressure (Pa)')
plt.show()

A imagem será apresentada aqui.

1 Resposta

0 votos
respondida Abr 26 por Ricardo Nunes (11 pontos)  

Vamos resolver a questão inteira no Python.

Primeiro vamos carregar todos os pacotes que vamos usar e também a planilha de dados:

import numpy as np
import matplotlib.pyplot as plt 
import pandas as pd 
import statsmodels.formula.api as smf

tankvolume = pd.read_csv("tankvolume.csv")
tankvolume = tankvolume.rename(columns = {'X':'Volume','Y':'Pressure'})

a) Vamos agora plotar um "Scatter Plot", que é um gráfico de dispersão, para checar a relação entre Volume e Pressão:

plt.scatter(tankvolume['Volume'], tankvolume['Pressure'])
plt.xlabel('Volume (L)')
plt.ylabel('Pressure (Pa)')
plt.show()

A imagem será apresentada aqui.

A relação entre as variáveis aparenta ser linear.

b) Vamos calcular a Regressão linear utiliando o método MQO (OLS):

formula = 'Volume~Pressure'
lm = smf.ols(formula, data = tankvolume)
result = lm.fit()
fitted_value = result.fittedvalues
parameters = result.params
residual = result.resid
tankvolume['fitted_value'] = fitted_value
tankvolume['Residual'] = residual

O plot dos resíduos e do Volume fica:

plt.scatter(tankvolume['Volume'], tankvolume['Residual'])
plt.xlabel('Volume')
plt.ylabel('Residual_LM')  
plt.show()

A imagem será apresentada aqui.

Os resíduos mostram que a variância do erro não é constante, uma hipótese básica do método de estimação dos parâmetros \(\beta\). Pode ser ocasionado pelo jeito em que as amostras foram obtidas, as medições foram tomadas mais de uma vez em alguns valores do Volume mostrando aumento ou redução da pressão em um mesmo valor. Além disso, não houve nenhum padrão nos intervalos de medição, que as vezes mostravam um comportamento curioso nos dados. Isso tudo pode ter contribuído para um erro com uma variância não constante. O que torna o modelo, a princípio, ruim.

c) Vamos agora plotar o modelo com uma variável adicional, o quadrado da pressão:

qm = smf.ols('Volume ~ np.power(Pressure, 2) + Pressure', data = tankvolume)
result_2 = qm.fit()
fitted_value_quadratic = result_2.fittedvalues
parameters_2 = result_2.params
residual_quadratic = result_2.resid
tankvolume['Fitted_Values_Quadratic'] = fitted_value_quadratic
tankvolume['Residual_Quadratic'] = residual_quadratic

O novo plot dos resíduos e Volume fica:

plt.scatter(tankvolume['Volume'], tankvolume['Residual_Quadratic'])
plt.xlabel('Volume')
plt.ylabel('Residual_QM')
plt.show()

A imagem será apresentada aqui.

Os resíduos mostram novamente a variância não constante do erro, ambos os modelos parecem inadequados. E de fato, o autor do artigo - Nonparametric calibration - Knafl, G (1984) - do qual foram retirados os dados, comenta que ambos os modelos são inadequados para predição da variável Volume.

...