|
# Animacao |
|
# No link https://yihui.org/animation/example/least-squares/ |
|
# Ou pelos comandos abaixo: |
|
library(animation) |
|
|
|
least.squares() |
|
least.squares(ani.type = "intercept") |
|
|
|
# slide 9 |
|
|
|
# nivel de hidrocarboneto (%) |
|
x = c(0.99, 1.02, 1.15, 1.29, 1.46, 1.36, 0.87, 1.23, 1.55, 1.40, |
|
1.19, 1.15, 0.98, 1.01, 1.11, 1.20, 1.26, 1.32, 1.43, 0.95) |
|
# pureza (%) |
|
y = c(90.01, 89.05, 91.43, 93.74, 96.73, 94.45, 87.59, 91.77, 99.42, |
|
93.65, 93.54, 92.52, 90.56, 89.54, 89.85, 90.39, 93.25, 93.41, |
|
94.98, 87.33) |
|
|
|
plot(x, y) |
|
|
|
n = length(x) |
|
Sx = sum(x) |
|
Sy = sum(y) |
|
Sxx = sum(x^2) |
|
Sxy = sum(x*y) |
|
b2 = (Sxy - Sx*Sy/n)/(Sxx - Sx^2/n); b2 |
|
b1 = mean(y) - b2*mean(x); b1 |
|
|
|
reg.ex1 = lm(y ~ x) |
|
reg.ex1 |
|
abline(reg.ex1, col = "red", lty = 2) |
|
|
|
# slide 12 |
|
|
|
data(cars) |
|
str(cars) |
|
|
|
attach(cars) |
|
plot(speed, dist) |
|
|
|
reg.ex2 = lm(dist ~ speed) |
|
reg.ex2 |
|
abline(reg.ex2, col = "red") |
|
|
|
#- slide 16 |
|
|
|
# dados |
|
x = c(5.61, 8.27, 7.68, 5.05, 7.09, 7.61, 7.12, 4.13, 8.52, 9.86, 2.22, 8.70, |
|
6.83, 6.54, 8.56, 4.01, 6.04, 8.94, 9.67, 6.37, 3.12, 9.64, 5.14, 4.15, |
|
6.58) |
|
y = c(43.34, 158.18, 111.18, 34.32, 89.76, 77.28, 61.17, 15.38, 174.04, 391.17, |
|
7.14, 101.25, 73.09, 57.06, 146.79, 12.45, 38.65, 201.70, 254.11, 45.75, |
|
7.48, 272.43, 18.73, 17.36, 72.87) |
|
plot(x, y, ylim = c(-2, 401)) |
|
|
|
# regressao linear |
|
reg1.lin = lm(y ~ x); reg1.lin |
|
abline(reg1.lin, col = "red") |
|
|
|
# regressao exponencial |
|
ly = log(y) |
|
reg1.exp = lm(ly ~ x); reg1.exp |
|
alpha = exp(reg1.exp$coef[1]); alpha |
|
beta = reg1.exp$coef[2]; beta |
|
plot(function(x) alpha*exp(beta*x), xlim = c(2, 11), col = "blue", add = TRUE) |
|
|
|
#- slide 17 |
|
|
|
library(MASS) |
|
data(steam) |
|
plot(steam$Temp, steam$Press, xlab = "Temperatura", ylab = "Pressão") |
|
|
|
# regressao linear |
|
reg2.lin = lm(Press ~ Temp, data = steam); reg2.lin |
|
abline(reg2.lin, col = "red") |
|
|
|
# regressao exponencial |
|
reg2.exp = lm(I(log(Press)) ~ Temp, data = steam); reg2.exp |
|
alpha = exp(reg2.exp$coef[1]); alpha |
|
beta = reg2.exp$coef[2]; beta |
|
plot(function(x) alpha*exp(beta*x), xlim = c(0, 110), col = "blue", add = TRUE) |
|
|
|
#- slide 18 |
|
|
|
# dados |
|
x = c(1.35, 2.35, 2.13, 1.15, 1.91, 2.10, 1.92, 0.80, 2.45, 2.95, 0.08, 2.51, |
|
1.81, 1.70, 2.46, 0.75, 1.52, 2.60, 2.87, 1.64, 3.98, 9.69, 5.75, 4.88, |
|
7.01, 9.39, 9.54, 9.16, 9.62, 8.70) |
|
y = c(1.04, 1.36, 1.26, 1.09, 1.27, 1.22, 1.21, 0.90, 1.36, 1.32, 0.47, 1.26, |
|
1.18, 1.17, 1.35, 0.87, 1.08, 1.37, 1.32, 1.14, 1.44, 1.90, 1.62, 1.60, |
|
1.82, 1.96, 2.07, 1.92, 2.10, 1.91) |
|
plot(x, y) |
|
|
|
# regressao linear |
|
reg3.lin = lm(y ~ x); reg3.lin |
|
abline(reg3.lin, col = "red") |
|
|
|
# regressao potencia |
|
ly = log(y) |
|
lx = log(x) |
|
reg3.pot = lm(ly ~ lx); reg3.pot |
|
alpha = exp(reg3.pot$coef[1]); alpha |
|
beta = reg3.pot$coef[2]; beta |
|
plot(function(x) alpha*x^beta, xlim = c(0, 10), col = "blue", add = TRUE) |
|
|
|
#- slide 19 |
|
|
|
# dados |
|
x = c(1.35, 2.35, 2.13, 1.15, 1.91, 2.10, 1.92, 0.80, 2.45, 2.95, 0.08, 2.51, |
|
1.81, 1.70, 2.46, 0.75, 1.52, 2.60, 2.87, 1.64, 3.98, 9.69, 5.75, 4.88, |
|
7.01, 9.39, 9.54, 9.16, 9.62, 8.70) |
|
y = c(0.19, 0.08, 0.09, 0.12, 0.09, 0.11, 0.11, 0.25, 0.08, 0.08, 0.41, 0.10, |
|
0.11, 0.11, 0.08, 0.35, 0.15, 0.07, 0.08, 0.13, 0.07, 0.03, 0.05, 0.05, |
|
0.04, 0.03, 0.03, 0.03, 0.03, 0.03) |
|
plot(x, y) |
|
|
|
# reg linear |
|
reg4.lin = lm(y ~ x); reg4.lin |
|
abline(reg4.lin, col = "red") |
|
|
|
# regressao reciproca |
|
ry = 1/y |
|
reg4.rec = lm(ry ~ x); reg4.rec |
|
alpha = reg4.rec$coef[1] |
|
beta = reg4.rec$coef[2] |
|
plot(function(x) 1/(alpha + beta*x), xlim = c(-1, 10), col = "blue", add = TRUE) |