Atividade regressão 3

Gabriel Peixoto

2022-10-06

1° questão)

Meses <- c(4, 5, 6,7, 8,9,10 ,11)
Valor <- c(41.73, 41.73, 43.98,48.91, 53.41, 59.06, 66.65, 75.76)


df <- data.frame(Meses,Valor)
df
##   Meses Valor
## 1     4 41.73
## 2     5 41.73
## 3     6 43.98
## 4     7 48.91
## 5     8 53.41
## 6     9 59.06
## 7    10 66.65
## 8    11 75.76
cor(df$Meses, df$Valor)
## [1] 0.9654832
LinearRegression = lm(df$Valor ~df$Meses, df)
summary(LinearRegression)
## 
## Call:
## lm(formula = df$Valor ~ df$Meses, data = df)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
## -2.949 -2.543 -1.053  1.518  5.016 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept)  17.0689     4.2419   4.024  0.00693 ** 
## df$Meses      4.9113     0.5409   9.080  0.00010 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 3.506 on 6 degrees of freedom
## Multiple R-squared:  0.9322, Adjusted R-squared:  0.9209 
## F-statistic: 82.44 on 1 and 6 DF,  p-value: 0.0001002

Logo nossa formula de regressão é :

Ypred = 17.0689 + 4.9113x

A Anova do nosso modelo

anova(LinearRegression)
## Analysis of Variance Table
## 
## Response: df$Valor
##           Df  Sum Sq Mean Sq F value    Pr(>F)    
## df$Meses   1 1013.08 1013.08  82.441 0.0001002 ***
## Residuals  6   73.73   12.29                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Estimando para o mês de dezembro

Ypred12 = 17.0689 + 4.9113*12
Ypred12
## [1] 76.0045

Logo no mês de Dezembro estimamos que o valor do BTN será de 76.0045

2° questão )

Peso_pais = c(65, 63, 67, 64, 68, 62, 70, 66, 68, 67, 69, 71)
Peso_filhos =  c(68, 66, 68, 65, 69, 66, 68, 65, 71, 67, 68 ,70)
Peso_fam = data.frame(Peso_pais, Peso_filhos)

Plotando o diagrama de dispersão

plot(Peso_fam$Peso_pais, Peso_fam$Peso_filhos)

Determinando uma reta de regressão de Y para X

cor(Peso_fam$Peso_filhos, Peso_pais)
## [1] 0.7026516
LinearRegression2 = lm(Peso_fam$Peso_pais ~Peso_fam$Peso_filhos, Peso_fam)
summary(LinearRegression2)
## 
## Call:
## lm(formula = Peso_fam$Peso_pais ~ Peso_fam$Peso_filhos, data = Peso_fam)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -3.0257 -2.0439 -0.0439  1.8469  2.9015 
## 
## Coefficients:
##                      Estimate Std. Error t value Pr(>|t|)  
## (Intercept)           -3.3769    22.4377  -0.151   0.8834  
## Peso_fam$Peso_filhos   1.0364     0.3319   3.123   0.0108 *
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 2.07 on 10 degrees of freedom
## Multiple R-squared:  0.4937, Adjusted R-squared:  0.4431 
## F-statistic: 9.752 on 1 and 10 DF,  p-value: 0.01082

Ypred2 = -3.3769 + 1.0364x

Checando a reta no gráfico

plot(Peso_fam$Peso_filhos, Peso_pais)
abline(LinearRegression2, col = "red", lwd = 2 )

Construindo a reta da variável X para Y

LinearRegression3 = lm(Peso_fam$Peso_filhos ~Peso_fam$Peso_pais, Peso_fam)
summary(LinearRegression3)
## 
## Call:
## lm(formula = Peso_fam$Peso_filhos ~ Peso_fam$Peso_pais, data = Peso_fam)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -2.2658 -0.8494  0.2106  0.6752  2.7815 
## 
## Coefficients:
##                    Estimate Std. Error t value Pr(>|t|)   
## (Intercept)         35.8248    10.1780   3.520  0.00554 **
## Peso_fam$Peso_pais   0.4764     0.1525   3.123  0.01082 * 
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 1.404 on 10 degrees of freedom
## Multiple R-squared:  0.4937, Adjusted R-squared:  0.4431 
## F-statistic: 9.752 on 1 and 10 DF,  p-value: 0.01082

Temos nosso Ypred3 = 35.8248 + 0.4764x

Checando agora reta de regressão

plot(Peso_pais, Peso_filhos)
abline(LinearRegression3, col = "Red" , lwd = 2)

Determinando o coeficiente de correlação

De X para Y

cor(Peso_fam$Peso_pais, Peso_filhos)
## [1] 0.7026516

De Y para X

cor(Peso_fam$Peso_filhos, Peso_pais)
## [1] 0.7026516

Determinando o coeficiente de determinação

Coenficiente de determinação de X para Y

summary(LinearRegression3)$r.squared
## [1] 0.4937193

Coenficiente de determinação de Y para X

summary(LinearRegression2)$r.squared
## [1] 0.4937193

Construindo a Anova de Y para X

anova(LinearRegression2)
## Analysis of Variance Table
## 
## Response: Peso_fam$Peso_pais
##                      Df Sum Sq Mean Sq F value  Pr(>F)  
## Peso_fam$Peso_filhos  1 41.802  41.802  9.7519 0.01082 *
## Residuals            10 42.865   4.287                  
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Fazendo o teste F

Ftest2 <- summary(LinearRegression2)$ftest

3° questão )

Preço = c(38,   42, 50, 56, 59, 63, 70, 80, 95, 110)
Demanda =   c(350   ,325    ,297    ,270    ,256    ,246    ,238    ,223,   215,    208)
df3 = data.frame(Preço,Demanda)
df3
##    Preço Demanda
## 1     38     350
## 2     42     325
## 3     50     297
## 4     56     270
## 5     59     256
## 6     63     246
## 7     70     238
## 8     80     223
## 9     95     215
## 10   110     208

Determinando o coeficiente de correlção

cor(df3$Preço, df3$Demanda)
## [1] -0.9015101

Logo nosso coeficiente de correlação é -0.9015 o que indica que quanto maior o preço, menor tende a ser a demanda.

Estabelecendo a fução da reta de regressão

LinearRegression4 = lm(df3$Demanda ~df3$Preço)
summary(LinearRegression4)
## 
## Call:
## lm(formula = df3$Demanda ~ df3$Preço)
## 
## Residuals:
##     Min      1Q  Median      3Q     Max 
## -22.974 -16.950  -4.183  14.027  34.254 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 386.8405    22.1630  17.454 1.18e-07 ***
## df3$Preço    -1.8709     0.3175  -5.892 0.000365 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 21.91 on 8 degrees of freedom
## Multiple R-squared:  0.8127, Adjusted R-squared:  0.7893 
## F-statistic: 34.72 on 1 and 8 DF,  p-value: 0.000365

Logo nossa equação do Y estimado será dada por: Ypred = 386.8405 + (-1.8709)x

summary(LinearRegression4)$r.squared
## [1] 0.8127205

Logo o nosso modelo contempla 81.27% dos nossos dados.

Estimando Y para x = 60 e x = 120

Ypred4 = 386.8405 + (-1.8709)*60
print(Ypred4)
## [1] 274.5865
Ypred4.1 = 386.8405 + (-1.8709)*120  
print(Ypred4.1)
## [1] 162.3325

Como podemos compravar, com base em quanto aumentamos o preço temos uma redução na demanda.

Montando a anova e teste F

anova(LinearRegression4)
## Analysis of Variance Table
## 
## Response: df3$Demanda
##           Df Sum Sq Mean Sq F value   Pr(>F)    
## df3$Preço  1  16669 16668.6  34.717 0.000365 ***
## Residuals  8   3841   480.1                     
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
#fTEST

4° questão)

Anos = c(   1,2,3,4,5,6,7,8,9)
#Anos = as.factor(Anos)
Quantidades = c(    34,36,36,38,41,42,43,44,46)
df5 = data.frame(Anos, Quantidades)
df5
##   Anos Quantidades
## 1    1          34
## 2    2          36
## 3    3          36
## 4    4          38
## 5    5          41
## 6    6          42
## 7    7          43
## 8    8          44
## 9    9          46

Calculando o coeficiente de correlação

cor(df5$Anos, df5$Quantidades)
## [1] 0.9890707

Calculando a reta da regressão

LinearRegression5 = lm(df5$Quantidades ~df5$Anos)
summary(LinearRegression5)
## 
## Call:
## lm(formula = df5$Quantidades ~ df5$Anos)
## 
## Residuals:
##    Min     1Q Median     3Q    Max 
##   -1.0   -0.5    0.0    0.5    1.0 
## 
## Coefficients:
##             Estimate Std. Error t value Pr(>|t|)    
## (Intercept) 32.50000    0.47559   68.33 3.78e-11 ***
## df5$Anos     1.50000    0.08452   17.75 4.45e-07 ***
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
## 
## Residual standard error: 0.6547 on 7 degrees of freedom
## Multiple R-squared:  0.9783, Adjusted R-squared:  0.9752 
## F-statistic:   315 on 1 and 7 DF,  p-value: 4.446e-07

Logo nosso Y estimado é dado por:

Ypred = 32.50 + 1.50x

E a reta do nosso modelo é dada por

plot(df5$Anos, df5$Quantidades)
abline(LinearRegression5)

### Avaliando a qualidade de ajuste da reta

summary(LinearRegression5)$r.squared
## [1] 0.9782609

produção estimada para 1989

Ypred5 = 32.50 + 1.50*10
print(Ypred5)
## [1] 47.5

Construindo a anova

anova(LinearRegression5)
## Analysis of Variance Table
## 
## Response: df5$Quantidades
##           Df Sum Sq Mean Sq F value    Pr(>F)    
## df5$Anos   1    135 135.000     315 4.446e-07 ***
## Residuals  7      3   0.429                      
## ---
## Signif. codes:  0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Teste F