Análisis de Regresión: Altura y Corriente
Análisis de Regresión: Altura y Corriente
library([Link])
planta <- [Link](`tiempo(dias)`=c(5,10,15,20,25), `altura(cm)`=c(10,20,30,40,50))
head(planta)
## tiempo(dias) altura(cm)
## <num> <num>
## 1: 5 10
## 2: 10 20
## 3: 15 30
## 4: 20 40
## 5: 25 50
Ahora separamos los datos para que sea más comodo trabajar.
Con los datos separados ya podemos sacar datos necesarios para el analisis.
Sumatoria de tiempo
X
t(días)i
## [1] 75
X
t(días)i = 75dias
Sumatoria altura
X
a(cm)i
1
suma <- sum(`altura(cm)`)
suma
## [1] 150
X
a(cm)i = 150cm
t2 <-`tiempo(dias)`ˆ2
t2
a2 <- `altura(cm)`ˆ2
a2
## [1] 1375
## [1] 5500
X
t2i = 1375dias2
X
a2i = 5500cm2
# Sumatoria de ambos datos X
ti ai
2
sumat <- sum(`tiempo(dias)`*`altura(cm)`)
sumat
## [1] 2750
X
ti ai = 2750dias · cm
Ahora graficamos.
tiempo vs altura
50
40
altura(cm)
30
20
10
5 10 15 20 25
tiempo(dias)
A simple vista parece lineal, así que para confirmarlo, seguiremos con el procedimiento, buscando el delta y
los valores b y a.
n=5
n1 <- length(planta$`altura(cm)`)
n1
## [1] 5
3
X X
δ =n t2i − t(días)i 2
δ = 5 · 1375 − 752
## [1] 1250
δ = 1250 dias2
P P P
n ti ai − ti ai
b=
δ
5 · 2750 − 75 · 150
b=
1250
b1 <- (n1*sumat-sumt*suma)/delta1
b1
## [1] 2
b = 2cm
t2i
P P P P
ai − t(días)i ti ai
a=
δ
1375 · 150 − 75 · 2750
a=
1250
a1 <- (sumt2*suma-sumt*sumat)/delta1
a1
## [1] 0
a=0
4
tiempo vs altura
50
40
altura(cm)
30
20
10
5 10 15 20 25
tiempo(dias)
## [1] 0
erroral(cm) = 0
library(Hmisc)
##
## Attaching package: ’Hmisc’
5
suppressMessages(suppressWarnings(errbar(`tiempo(dias)`, `altura(cm)`, `altura(cm)`+error_al, `altura(cm
suppressMessages(suppressWarnings(lines(`tiempo(dias)`, b1*`tiempo(dias)`+a1, col= "orange")))
tiempo vs altura
50
40
altura(cm)
30
20
10
5 10 15 20 25
tiempo(dias)
75
tp =
5
tp <- sumt/n1
tp
## [1] 15
tp = 15(dias)
## [1] -10 -5 0 5 10
6
`(ti - t prom2)` <- `ti - t prom`ˆ2
`(ti - t prom2)`
P
a(cm)i
alp =
n
150
alp =
5
alp <- suma/n1
alp
## [1] 30
alp = 30cm
Aquí está la tabla con todos los datos. (en R las sumatorias no se pueden meter en una tabla, por lo que
hay que mostrarlas por aparte)
7
## 1: 400 200
## 2: 100 50
## 3: 0 0
## 4: 100 50
## 5: 400 200
summary(planta_final)
sumt
## [1] 75
suma
## [1] 150
sumt2
## [1] 1375
suma2
## [1] 5500
sum(`ti - t prom`)
## [1] 0
sum(`(ti - t prom2)`)
## [1] 250
8
sum(`ali - al prom`)
## [1] 0
sum(`(ali - al prom2)`)
## [1] 1000
## [1] 500
corriente <- [Link](`Distancia(cm)`= c(1.00, 2.00, 5.00, 11.50, 22.40), `Corriente eléctrica(mA)`= c
head(corriente)
Ahora dividiremos y crearemos datos y diviciones para empezar con la graficación de estos datos.
X
d(cm)i
## [1] 41.9
X
d(cm)i = 41.9cm
X
c(mA)i
9
sumc <- sum(`Corriente eléctrica(mA)`)
sumc
## [1] 64
X
c(mA)i = 64mA
d2 <- `Distancia(cm)`ˆ2
d2
X
d2i
X
c2i
X
d i ci
## [1] 664.01
## [1] 2636.42
## [1] 89.84
X
d2i = 664.01cm2
X
c2i = 2636.42mA
X
di ci = 89.84 cm · mA
10
plot(`Distancia(cm)`,`Corriente eléctrica(mA)`, type = "b", cex = 2, pch =21, bg = "blue", main = "dista
distancia vs corriente
50
Corriente eléctrica(mA)
40
30
20
10
0
5 10 15 20
Distancia(cm)
Vemos que la gráfica no es lineal, por lo que se debería buscar una gráfica que nos ayude a linealizar los
datos. Vamos a empezar por hacer una gráfica “log-log”.
11
distancia vs corriente
1.5
1.0
Logc (mA)
0.5
0.0
−1.0
Logd (cm)
Ahora vemos que es una lineal inversa en logaritmos, debemos hayar la función de esta gráfica y de la
anterior.
n2 <- length(`Distancia(cm)`)
n2
## [1] 5
n=5
X X 2
δ =n d2i − d(cm)i
δ = 5 · 664.01 − 41.92
## [1] 1564.44
δ = 1564.44cm2
P P P
n di ci − d(cm)i c(mA)i
b=
δ
5 · 89.84 − 41.9 · 64
b=
1564.44
12
b2 <- (n2*sumdc-sumd*sumc)/delta2
b2
## [1] -1.426964
cm · mA
b = −1.426964
cm2
d2i
P P P P
c(mA)i − d(cm)i di ci
a=
δ
664.01 · 64 − 41.9 · 89.84
a=
1564.44
a2 <- (sumd2*sumc-sumd*sumdc)/delta2
a2
## [1] 24.75796
a = 24.75796 cm · mA
13
50 distancia vs corriente log distancia vs log corriente
1.5
40
Corriente eléctrica(mA)
1.0
Logc (mA)
30
0.5
20
0.0
−0.5
10
−1.0
0
## [1] 19.83355
errorc(mA) = 19.83355mA
14
distancia vs corriente log distancia vs log corriente
3
60
2
Corriente eléctrica(mA)
40
1
Logc (mA)
20
0
−1
0
−2
−20
## [1] 8.38
dp = 8.38cm
15
`(di - d prom2)` <- `di - d prom`ˆ2
`(di - d prom2)`
P
c(mA)i
cp =
n
64
cp =
5
cp <- sumc/n2
cp
## [1] 12.8
cp = 12.8
16
summary(corriente_final)
sumd
## [1] 41.9
sumc
## [1] 64
sumd2
## [1] 664.01
sumc2
## [1] 2636.42
sum(`di - d prom`)
## [1] 3.552714e-15
sum(`(di - d prom2)`)
## [1] 312.888
17
sum(`ci - c prom`)
## [1] 0
sum(`(ci - c prom2)`)
## [1] 1817.22
## [1] -446.48
3 semi-log
Los datos que manejaremos no tienen unidades así que los tomaremos como un simple “x” e “y”
datos <- [Link](x=c(-0.9, -0.6, 0.2, 0.5, 0.8, 1.1, 1.4, 1.7, 2.0, 2.3), y=c(0.05, 0.17, 3.57, 11.16
head(datos, n=11)
## x y
## <num> <num>
## 1: -0.9 0.05
## 2: -0.6 0.17
## 3: 0.2 3.57
## 4: 0.5 11.16
## 5: 0.8 34.91
## 6: 1.1 109.16
## 7: 1.4 341.32
## 8: 1.7 1067.23
## 9: 2.0 3336.99
## 10: 2.3 10433.98
Como en los anteriores casos, sacamos los datos necesarios para todo el analisis.
x <- datos$x
y <- datos$y
X
xi
## [1] 8.5
X
xi = 8.5
X
yi
18
sumy <- sum(y)
sumy
## [1] 15338.54
X
yi = 15338.54
x2 <- xˆ2
x2
## [1] 0.81 0.36 0.04 0.25 0.64 1.21 1.96 2.89 4.00 5.29
y2 <- yˆ2
y2
X
x2i
X
yi2
X
xi yi
## [1] 17.45
## [1] 121272192
## [1] 33118.42
X
x2i = 17.45
X
yi2 = 121272192
X
xi yi = 33118.42
Graficamos.
19
plot(x, y, type = "b", cex = 2, pch =21, bg = "blue", main = "x vs y")
x vs y
10000
6000
y
2000
0
Tampoco dio una lineal, por lo que hay que saber que linealidad tiene, así que la gráficaremos en log-log,
log-normal y normal-log.
plot(x, y=log10(y), type = "b", cex = 2, pch =21, bg = "blue", main = "nor-log")
20
4 log−log log−nor nor−log
4
10000
3
3
8000
2
2
6000
log10(y)
log10(y)
y
1
1
4000
0
0
2000
−1
−1
0
−0.6 −0.2 0.0 0.2 0.4 −0.6 −0.2 0.0 0.2 0.4 −1.0 0.0 1.0 2.0
log10(x) log10(x) x
Como se puede ver la gráfica normal-log es la lineal, por lo que hayaremos el a, y el b de esta función.
n3 <- length(x)
n3
## [1] 10
n = 10
X X
δ =n x2i − xi 2
δ = 10 · 17.45 − 8.52
## [1] 102.25
δ = 102.25
ln(y2 ) − ln(y1 )
b=
x2 − x1
21
ln(10433.98) − ln(0.05)
b=
2.3 − (−0.9)
b3 <- (log(10433.98)-log(0.05))/(2.3-(-0.9))
b3
## [1] 3.827674
b = 3.827674
y = a · eb∗x
y a · eb·x
=
eb·x eb·x
y
=a
eb·x
10433.98
a = 3.827674·2.3
e
a3 <- 10433.98/(exp(1))ˆ(b3*2.3)
a3
## [1] 1.567017
a = 1.567017
22
x vs y x vs log y
4
8000
3
6000
2
log10(y)
y
1
4000
0
2000
−1
0
x x
Como se puede observar, tanto los datos como la función coinciden perfectamente, de todos modos tambien
hayaremos y graficaremos el error de y.
sP
yi2 − a
P P
yi − b xi yi
errory =
10 − 2
r
121272192 − 1.567017 · 1533.854 − 3.827674 · 33118.42
errory =
10 − 2
## [1] 3891.038
errory = 3891.038
23
15000 x vs y x vs log y
8
6
10000
4
log10
2
5000
y
y
0 −2
0
−4
x x
Como era de esperarse, la función está dentro del error de y en ambos casos.
Crearemos los datos para obtener la tabla y terminar este ejercicio.
P
xi
xp =
n
8.5
xp =
10
xp <- sumx/n3
xp
## [1] 0.85
xp = 0.85
## [1] -1.75 -1.45 -0.65 -0.35 -0.05 0.25 0.55 0.85 1.15 1.45
24
## [1] 0.81 0.36 0.04 0.25 0.64 1.21 1.96 2.89 4.00 5.29
P
yi
yp =
n
15338.54
yp =
10
yp <- sumy/n3
yp
## [1] 1533.854
yp = 1533.854
semilog_fin <- [Link](x=x, y=y, x2=x2, y2=y2, `xi - x prom`=`xi - x prom`, `(xi - x prom2)`=`(xi - x
head(semilog_fin)
25
summary(semilog_fin)
## x y x2 y2
## Min. :-0.900 Min. : 0.050 Min. :0.040 Min. : 0
## 1st Qu.: 0.275 1st Qu.: 5.468 1st Qu.:0.430 1st Qu.: 41
## Median : 0.950 Median : 72.035 Median :1.010 Median : 6567
## Mean : 0.850 Mean : 1533.854 Mean :1.745 Mean : 12127219
## 3rd Qu.: 1.625 3rd Qu.: 885.753 3rd Qu.:2.658 3rd Qu.: 883360
## Max. : 2.300 Max. :10433.980 Max. :5.290 Max. :108867939
## xi - x prom (xi - x prom2) yi - y prom (yi - y prom2)
## Min. :-1.750 Min. :0.040 Min. :-1533.8 Min. : 217738
## 1st Qu.:-0.575 1st Qu.:0.430 1st Qu.:-1528.4 1st Qu.: 2084023
## Median : 0.100 Median :1.010 Median :-1461.8 Median : 2330183
## Mean : 0.000 Mean :1.745 Mean : 0.0 Mean : 9774511
## 3rd Qu.: 0.775 3rd Qu.:2.658 3rd Qu.: -648.1 3rd Qu.: 2352463
## Max. : 1.450 Max. :5.290 Max. : 8900.1 Max. :79212243
## (xi - x prom)(yi - y prom)
## Min. : -655.9
## 1st Qu.: -248.4
## Median : 763.8
## Mean : 2008.1
## 3rd Qu.: 2186.3
## Max. :12905.2
sumx
## [1] 8.5
sumy
## [1] 15338.54
sumx2
## [1] 17.45
sumy2
## [1] 121272192
sum(`xi - x prom`)
## [1] -1.110223e-16
sum(`(xi - x prom2)`)
## [1] 17.45
26
sum(`yi - y prom`)
## [1] 1.818989e-12
sum(`(yi - y prom2)`)
## [1] 97745111
## [1] 20080.66
27