Actuadora FSAE GRUPO 6
suppressMessages(library(readxl, quietly = T))
suppressMessages(library(MASS, quietly = T))
suppressMessages(library(ISLR, quietly = T))
suppressMessages(library(ggplot2, quietly = T))
suppressMessages(library(corrplot, quietly = T))
suppressMessages(library("readxl",quietly = T))
suppressMessages(library(Metrics,quietly = T))
suppressMessages(library(ggpubr, quietly = T))
suppressMessages(library(tidyverse, quietly = T))
suppressMessages(library(boot,quietly = T))
suppressMessages(require(corrplot))
suppressMessages(library(e1071))
Actuadora_1 <- read_excel("C:/Users/User/OneDrive - Universidad Politécnica de Madrid/MasterIndustriales/Ingenia/Actuadora/Actuadora.xlsx",sheet = "Actuadora_1")
Actuadora_2 <- read_excel("C:/Users/User/OneDrive - Universidad Politécnica de Madrid/MasterIndustriales/Ingenia/Actuadora/Actuadora.xlsx", sheet = "Actuadora_2")
Actuadora_3 <- read_excel("C:/Users/User/OneDrive - Universidad Politécnica de Madrid/MasterIndustriales/Ingenia/Actuadora/Actuadora.xlsx", sheet = "Actuadora_3")
Fuerza y Galgas
Colors00<- c("Fuerza" = "black", "A_10" = "turquoise4","A_20" = "turquoise2")
p1<- ggplot(Actuadora_1) +
geom_line(aes(y = fuerza , x = Time, color = "Fuerza")) +
geom_line(aes(y = A_10 , x = Time, color = "A_10")) +
geom_line(aes(y = A_20 , x = Time, color = "A_20"))+
theme(legend.position="bottom")+
ylab ("Fuerza (Scaled)") +
ggtitle("Primer_Testeo") +
scale_color_manual(values = Colors00) +
labs(color = "Legend") +
theme(legend.position="bottom")
p2<- ggplot(Actuadora_2) +
geom_line(aes(y = fuerza , x = Time, color = "Fuerza")) +
geom_line(aes(y = A_10 , x = Time, color = "A_10")) +
geom_line(aes(y = A_20 , x = Time, color = "A_20"))+
theme(legend.position="bottom")+
ylab ("Fuerza (Scaled)") +
ggtitle("Segundo_Testeo") +
scale_color_manual(values = Colors00) +
labs(color = "Legend") +
theme(legend.position="bottom")
p3<- ggplot(Actuadora_1) +
geom_line(aes(y = fuerza , x = Time, color = "Fuerza")) +
geom_line(aes(y = A_10 , x = Time, color = "A_10")) +
geom_line(aes(y = A_20 , x = Time, color = "A_20"))+
theme(legend.position="bottom")+
ylab ("Fuerza (Scaled)") +
ggtitle("Tercer_Testeo") +
scale_color_manual(values = Colors00) +
labs(color = "Legend") +
theme(legend.position="bottom")
p1

p2

p3

Correlaciones Actuadora
corr = cor(Actuadora_1[,c("A_10", "A_20","fuerza",
"incli_sup", "Incli_inf")])
corrplot(corr,method="number",title="Primer_Testeo",mar=c(0,0,1,0))

corr = cor(Actuadora_2[,c("A_10", "A_20","fuerza",
"incli_sup", "Incli_inf")])
corrplot(corr,method="number",title="Segundo_Testeo",mar=c(0,0,1,0))

corr = cor(Actuadora_3[,c("A_10", "A_20","fuerza",
"incli_sup", "Incli_inf")])
corrplot(corr,method="number",title="Tercer_Testeo",mar=c(0,0,1,0))

Regresión Lineal Todas Las Galgas (A_10 y A_20)
modelo_simple_1 <- lm(formula = fuerza ~ Actuadora_1$A_10 + Actuadora_1$A_20, data = Actuadora_1)
modelo_simple_2 <- lm(formula = fuerza ~ Actuadora_2$A_10 + Actuadora_2$A_20, data = Actuadora_2)
modelo_simple_3 <- lm(formula = fuerza ~ Actuadora_3$A_10 + Actuadora_3$A_20, data = Actuadora_3)
summary(modelo_simple_1)
##
## Call:
## lm(formula = fuerza ~ Actuadora_1$A_10 + Actuadora_1$A_20, data = Actuadora_1)
##
## Residuals:
## Min 1Q Median 3Q Max
## -13.4774 -2.6503 -0.0813 2.6930 13.0966
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -3.496908 0.145881 -23.97 <2e-16 ***
## Actuadora_1$A_10 0.257074 0.003542 72.57 <2e-16 ***
## Actuadora_1$A_20 0.279981 0.004342 64.48 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 3.929 on 8312 degrees of freedom
## Multiple R-squared: 0.9957, Adjusted R-squared: 0.9957
## F-statistic: 9.58e+05 on 2 and 8312 DF, p-value: < 2.2e-16
summary(modelo_simple_2)
##
## Call:
## lm(formula = fuerza ~ Actuadora_2$A_10 + Actuadora_2$A_20, data = Actuadora_2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -14.9805 -2.7133 0.0058 2.7111 13.7360
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 1.031479 0.067700 15.24 <2e-16 ***
## Actuadora_2$A_10 0.221676 0.003912 56.67 <2e-16 ***
## Actuadora_2$A_20 0.318069 0.004754 66.91 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 3.974 on 7051 degrees of freedom
## Multiple R-squared: 0.9931, Adjusted R-squared: 0.9931
## F-statistic: 5.063e+05 on 2 and 7051 DF, p-value: < 2.2e-16
summary(modelo_simple_3)
##
## Call:
## lm(formula = fuerza ~ Actuadora_3$A_10 + Actuadora_3$A_20, data = Actuadora_3)
##
## Residuals:
## Min 1Q Median 3Q Max
## -13.4774 -2.6503 -0.0813 2.6930 13.0966
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -3.496908 0.145881 -23.97 <2e-16 ***
## Actuadora_3$A_10 0.257074 0.003542 72.57 <2e-16 ***
## Actuadora_3$A_20 0.279981 0.004342 64.48 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 3.929 on 8312 degrees of freedom
## Multiple R-squared: 0.9957, Adjusted R-squared: 0.9957
## F-statistic: 9.58e+05 on 2 and 8312 DF, p-value: < 2.2e-16
#Predecimos valores con los mismos que realizamos el modelo#
#Primer_Testeo
fuerzaPredict = predict(object = modelo_simple_1, newdata = Actuadora_1)
Actuadora_1$fuerzaPredict = fuerzaPredict
rmse_1_2_G <- sqrt(sum((fuerzaPredict - Actuadora_1$fuerza)^2)/length(fuerzaPredict))
colors <- c("Fuerza_Real" = "black", "Fuerza_Predicha" = "aquamarine")
p11<-ggplot(data = Actuadora_1, aes(x = c(1:length(fuerza)))) +
geom_line(aes(y = fuerza, color = "Fuerza_Real"), linetype = "solid") +
geom_line(aes(y = fuerzaPredict, color = "Fuerza_Predicha"), linetype = "dashed") +
labs(x = "Values",
y = "Fuerza",
color = "Legend") +
ylab ("Fuerza (Scaled)") +
ggtitle("Primer_Testeo_2_Galgas")+
scale_color_manual(values = colors)
#Sedundo Testeo
fuerzaPredict = predict(object = modelo_simple_2, newdata = Actuadora_2)
Actuadora_2$fuerzaPredict = fuerzaPredict
rmse_2_2_G <- sqrt(sum((fuerzaPredict - Actuadora_2$fuerza)^2)/length(fuerzaPredict))
colors <- c("Fuerza_Real" = "black", "Fuerza_Predicha" = "aquamarine")
p22<-ggplot(data = Actuadora_2, aes(x = c(1:length(fuerza)))) +
geom_line(aes(y = fuerza, color = "Fuerza_Real"), linetype = "solid") +
geom_line(aes(y = fuerzaPredict, color = "Fuerza_Predicha"), linetype = "dashed") +
labs(x = "Values",
y = "Fuerza",
color = "Legend") +
ylab ("Fuerza (Scaled)") +
ggtitle("Segundo_Testeo_2_Galgas")+
scale_color_manual(values = colors)
#Tercer Testeo
fuerzaPredict = predict(object = modelo_simple_3, newdata = Actuadora_3)
Actuadora_3$fuerzaPredict = fuerzaPredict
rmse_3_2_G <- sqrt(sum((fuerzaPredict - Actuadora_3$fuerza)^2)/length(fuerzaPredict))
colors <- c("Fuerza_Real" = "black", "Fuerza_Predicha" = "aquamarine")
p33<-ggplot(data = Actuadora_3, aes(x = c(1:length(fuerza)))) +
geom_line(aes(y = fuerza, color = "Fuerza_Real"), linetype = "solid") +
geom_line(aes(y = fuerzaPredict, color = "Fuerza_Predicha"), linetype = "dashed") +
labs(x = "Values",
y = "Fuerza",
color = "Legend") +
ylab ("Fuerza (Scaled)") +
ggtitle("Tercer_Testeo_2_Galgas")+
scale_color_manual(values = colors)
p11

p22

p33

Regresion Lineal A_10
modelo_simple_1 <- lm(formula = fuerza ~ Actuadora_1$A_10, data = Actuadora_1)
modelo_simple_2 <- lm(formula = fuerza ~ Actuadora_2$A_10, data = Actuadora_2)
modelo_simple_3 <- lm(formula = fuerza ~ Actuadora_3$A_10, data = Actuadora_3)
summary(modelo_simple_1)
##
## Call:
## lm(formula = fuerza ~ Actuadora_1$A_10, data = Actuadora_1)
##
## Residuals:
## Min 1Q Median 3Q Max
## -20.7857 -3.4611 0.1044 3.1906 17.1563
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 5.1847137 0.0687875 75.37 <2e-16 ***
## Actuadora_1$A_10 0.4843829 0.0004291 1128.94 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 4.812 on 8313 degrees of freedom
## Multiple R-squared: 0.9935, Adjusted R-squared: 0.9935
## F-statistic: 1.275e+06 on 1 and 8313 DF, p-value: < 2.2e-16
summary(modelo_simple_2)
##
## Call:
## lm(formula = fuerza ~ Actuadora_2$A_10, data = Actuadora_2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -17.9508 -3.3763 -0.0615 3.6065 20.4906
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 3.3346908 0.0745338 44.74 <2e-16 ***
## Actuadora_2$A_10 0.4814381 0.0006131 785.27 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 5.081 on 7052 degrees of freedom
## Multiple R-squared: 0.9887, Adjusted R-squared: 0.9887
## F-statistic: 6.167e+05 on 1 and 7052 DF, p-value: < 2.2e-16
summary(modelo_simple_3)
##
## Call:
## lm(formula = fuerza ~ Actuadora_3$A_10, data = Actuadora_3)
##
## Residuals:
## Min 1Q Median 3Q Max
## -20.7857 -3.4611 0.1044 3.1906 17.1563
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) 5.1847137 0.0687875 75.37 <2e-16 ***
## Actuadora_3$A_10 0.4843829 0.0004291 1128.94 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 4.812 on 8313 degrees of freedom
## Multiple R-squared: 0.9935, Adjusted R-squared: 0.9935
## F-statistic: 1.275e+06 on 1 and 8313 DF, p-value: < 2.2e-16
#Predecimos valores con los mismos que realizamos el modelo#
#Primer_Testeo
fuerzaPredict = predict(object = modelo_simple_1, newdata = Actuadora_1)
Actuadora_1$fuerzaPredict = fuerzaPredict
rmse_1_A_10 <- sqrt(sum((fuerzaPredict - Actuadora_1$fuerza)^2)/length(fuerzaPredict))
colors <- c("Fuerza_Real" = "black", "Fuerza_Predicha" = "aquamarine")
p111<-ggplot(data = Actuadora_1, aes(x = c(1:length(fuerza)))) +
geom_line(aes(y = fuerza, color = "Fuerza_Real"), linetype = "solid") +
geom_line(aes(y = fuerzaPredict, color = "Fuerza_Predicha"), linetype = "dashed") +
labs(x = "Values",
y = "Fuerza",
color = "Legend") +
ylab ("Fuerza (Scaled)") +
ggtitle("Primer_Testeo_A10")+
scale_color_manual(values = colors)
#Sedundo Testeo
fuerzaPredict = predict(object = modelo_simple_2, newdata = Actuadora_2)
Actuadora_2$fuerzaPredict = fuerzaPredict
rmse_2_A_10 <- sqrt(sum((fuerzaPredict - Actuadora_2$fuerza)^2)/length(fuerzaPredict))
colors <- c("Fuerza_Real" = "black", "Fuerza_Predicha" = "aquamarine")
p222<-ggplot(data = Actuadora_2, aes(x = c(1:length(fuerza)))) +
geom_line(aes(y = fuerza, color = "Fuerza_Real"), linetype = "solid") +
geom_line(aes(y = fuerzaPredict, color = "Fuerza_Predicha"), linetype = "dashed") +
labs(x = "Values",
y = "Fuerza",
color = "Legend") +
ylab ("Fuerza (Scaled)") +
ggtitle("Segundo_Testeo_A10")+
scale_color_manual(values = colors)
#Tercer Testeo
fuerzaPredict = predict(object = modelo_simple_3, newdata = Actuadora_3)
Actuadora_3$fuerzaPredict = fuerzaPredict
rmse_3_A_10 <- sqrt(sum((fuerzaPredict - Actuadora_3$fuerza)^2)/length(fuerzaPredict))
colors <- c("Fuerza_Real" = "black", "Fuerza_Predicha" = "aquamarine")
p333<-ggplot(data = Actuadora_3, aes(x = c(1:length(fuerza)))) +
geom_line(aes(y = fuerza, color = "Fuerza_Real"), linetype = "solid") +
geom_line(aes(y = fuerzaPredict, color = "Fuerza_Predicha"), linetype = "dashed") +
labs(x = "Values",
y = "Fuerza",
color = "Legend") +
ylab ("Fuerza (Scaled)") +
ggtitle("Tercer_Testeo_A_10")+
scale_color_manual(values = colors)
p111

p222

p333

Regresión Lineal A_20
modelo_simple_1 <- lm(formula = fuerza ~ Actuadora_1$A_20, data = Actuadora_1)
modelo_simple_2 <- lm(formula = fuerza ~ Actuadora_2$A_20, data = Actuadora_2)
modelo_simple_3 <- lm(formula = fuerza ~ Actuadora_3$A_20, data = Actuadora_3)
summary(modelo_simple_1)
##
## Call:
## lm(formula = fuerza ~ Actuadora_1$A_20, data = Actuadora_1)
##
## Residuals:
## Min 1Q Median 3Q Max
## -17.9761 -3.4658 -0.0659 3.4256 17.0756
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -1.296e+01 8.355e-02 -155.1 <2e-16 ***
## Actuadora_1$A_20 5.935e-01 5.488e-04 1081.6 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 5.022 on 8313 degrees of freedom
## Multiple R-squared: 0.9929, Adjusted R-squared: 0.9929
## F-statistic: 1.17e+06 on 1 and 8313 DF, p-value: < 2.2e-16
summary(modelo_simple_2)
##
## Call:
## lm(formula = fuerza ~ Actuadora_2$A_20, data = Actuadora_2)
##
## Residuals:
## Min 1Q Median 3Q Max
## -18.4811 -3.2276 0.1595 3.1522 15.4357
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -0.667996 0.073219 -9.123 <2e-16 ***
## Actuadora_2$A_20 0.585425 0.000703 832.806 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 4.794 on 7052 degrees of freedom
## Multiple R-squared: 0.9899, Adjusted R-squared: 0.9899
## F-statistic: 6.936e+05 on 1 and 7052 DF, p-value: < 2.2e-16
summary(modelo_simple_3)
##
## Call:
## lm(formula = fuerza ~ Actuadora_3$A_20, data = Actuadora_3)
##
## Residuals:
## Min 1Q Median 3Q Max
## -17.9761 -3.4658 -0.0659 3.4256 17.0756
##
## Coefficients:
## Estimate Std. Error t value Pr(>|t|)
## (Intercept) -1.296e+01 8.355e-02 -155.1 <2e-16 ***
## Actuadora_3$A_20 5.935e-01 5.488e-04 1081.6 <2e-16 ***
## ---
## Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1
##
## Residual standard error: 5.022 on 8313 degrees of freedom
## Multiple R-squared: 0.9929, Adjusted R-squared: 0.9929
## F-statistic: 1.17e+06 on 1 and 8313 DF, p-value: < 2.2e-16
#Predecimos valores con los mismos que realizamos el modelo#
#Primer_Testeo
fuerzaPredict = predict(object = modelo_simple_1, newdata = Actuadora_1)
Actuadora_1$fuerzaPredict = fuerzaPredict
rmse_1_A_20 <- sqrt(sum((fuerzaPredict - Actuadora_1$fuerza)^2)/length(fuerzaPredict))
colors <- c("Fuerza_Real" = "black", "Fuerza_Predicha" = "aquamarine")
p111<-ggplot(data = Actuadora_1, aes(x = c(1:length(fuerza)))) +
geom_line(aes(y = fuerza, color = "Fuerza_Real"), linetype = "solid") +
geom_line(aes(y = fuerzaPredict, color = "Fuerza_Predicha"), linetype = "dashed") +
labs(x = "Values",
y = "Fuerza",
color = "Legend") +
ylab ("Fuerza (Scaled)") +
ggtitle("Primer_Testeo_A20")+
scale_color_manual(values = colors)
#Sedundo Testeo
fuerzaPredict = predict(object = modelo_simple_2, newdata = Actuadora_2)
Actuadora_2$fuerzaPredict = fuerzaPredict
rmse_2_A_20 <- sqrt(sum((fuerzaPredict - Actuadora_2$fuerza)^2)/length(fuerzaPredict))
colors <- c("Fuerza_Real" = "black", "Fuerza_Predicha" = "aquamarine")
p222<-ggplot(data = Actuadora_2, aes(x = c(1:length(fuerza)))) +
geom_line(aes(y = fuerza, color = "Fuerza_Real"), linetype = "solid") +
geom_line(aes(y = fuerzaPredict, color = "Fuerza_Predicha"), linetype = "dashed") +
labs(x = "Values",
y = "Fuerza",
color = "Legend") +
ylab ("Fuerza (Scaled)") +
ggtitle("Segundo_Testeo_A20")+
scale_color_manual(values = colors)
#Tercer Testeo
fuerzaPredict = predict(object = modelo_simple_3, newdata = Actuadora_3)
Actuadora_3$fuerzaPredict = fuerzaPredict
rmse_3_A_20 <- sqrt(sum((fuerzaPredict - Actuadora_3$fuerza)^2)/length(fuerzaPredict))
colors <- c("Fuerza_Real" = "black", "Fuerza_Predicha" = "aquamarine")
p333<-ggplot(data = Actuadora_3, aes(x = c(1:length(fuerza)))) +
geom_line(aes(y = fuerza, color = "Fuerza_Real"), linetype = "solid") +
geom_line(aes(y = fuerzaPredict, color = "Fuerza_Predicha"), linetype = "dashed") +
labs(x = "Values",
y = "Fuerza",
color = "Legend") +
ylab ("Fuerza (Scaled)") +
ggtitle("Tercer_Testeo_A_20")+
scale_color_manual(values = colors)
p111

p222

p333

Comparación
modelo <- c("Todas_Galgas_Primer_Testeo","A_10_Primer_Testeo", "A_20_Primer_Testeo",
"Todas_Galgas_Segundo_Testeo", "A_10_Segundo_Testeo", "A_20_Segundo_Testeo",
"Todas_Galgas_Tercer_Testeo","A_10_Tercer_Testeo", "A_20_Tercer_Testeo")
test.MSE <- c(rmse_1_2_G ,rmse_1_A_10,rmse_1_A_20,
rmse_2_2_G ,rmse_2_A_10,rmse_2_A_20,
rmse_3_2_G ,rmse_3_A_10,rmse_3_A_20)
comparacion <- data.frame(modelo = modelo, test.MSE = test.MSE)
p_comp00<- ggplot(data = comparacion, aes(x = reorder(x = modelo, X = test.MSE),
y = test.MSE, color = modelo,
label = round(test.MSE,2))) +
geom_point(size = 15) +
geom_text(color = "white", size = 4) +
labs(x = "Modelo regresión", y = "Test error(RMSE)", title = "RMSE all models lineal") + theme_bw() +
coord_flip() + theme(legend.position = "none")
#####
p_comp00
