Stalin Granda
2022-Apr-14  14:01 UTC
[R-es] Regresión no linear en WRC con Machine Learning
Hola a todos,
Estoy trabajando con un modelo de predicción de para ajustar la curva de
retención de agua (theta ~ WRC) de acuerdo con la Ec. de van Genutchen
fitted <- nls(theta ~ qr + (qs-qr)/(1+(alpha*h)^n)^(1-1/n),
start=list(qs=0.64, qr=0.30, alpha =.37, n=2.83))
Después de correr el código, los datos ajustados (theta) se ven bastante
bien para un cierta sección de la curva (entre 0,178 y 2,87 pF),  pero con
estos mismos ahora necesito generar una ecuación polinómica que me permita
calcular (theta) para otros valores de la curva, entre 0 y 4,27 pF (h ~
pF).
Estoy aplicando machine learning, realizando la partición correspondiente
para datos  evaluados y testados.
training.muestra <-  datos1$predichos  %>%
  createDataPartition(p=0.8, list = FALSE)
train.data <- datos1 [training.muestra, ]
test.data <- datos1 [-training.muestra, ]
He generado el modelo 3 (datos1.csv) para una ecuación polinómica de grado
3:
modelo3 <- lm(predichos  ~ poly(h,3),data = train.data)
summary(modelo3)$coef
predicciones3 <- modelo3 %>% predict(test.data)
predicciones3
Los resultados se muestran:
               Estimate   Std. Error    t value      Pr(>|t|)
(Intercept)  0.53733575 0.0004243755 1266.17982 2.609800e-156
poly(h, 3)1 -0.58854606 0.0036752001 -160.13987  1.358153e-92
poly(h, 3)2 -0.13918929 0.0036752001  -37.87258  7.919609e-49
poly(h, 3)3  0.06016205 0.0036752001   16.36973  8.380817e-26
Con estos datos. género la ecuación correspondiente, pero al hacer el
cálculo para otros valores de la curva en excel, el gráfico no se muestra
igual como en r.
Será que estoy haciendo algo mal, alguien me puede dar luces al respecto.
En el adjunto les dejo los valores con los que estoy trabajando.
Saludos cordiales,
Stalin
-- 
*Stalin Granda A.Magíster en Ingeniería Mc. Recursos HídricosUACh*
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL:
<https://stat.ethz.ch/pipermail/r-help-es/attachments/20220414/81e5a078/attachment.html>
------------ próxima parte ------------
A non-text attachment was scrubbed...
Name: datos1.csv
Type: text/csv
Size: 1718 bytes
Desc: no disponible
URL:
<https://stat.ethz.ch/pipermail/r-help-es/attachments/20220414/81e5a078/attachment.csv>
Emilio L. Cano
2022-Apr-15  05:23 UTC
[R-es] Regresión no linear en WRC con Machine Learning
Hola Stalin, Por defecto, la función poly() de R ajusta polinomios ortogonales. Posiblemente Excel ajuste polinomios de otra forma, prueba a usar el argumento raw = TRUE a ver si así tienes el mismo resultado. Un saludo, Emilio L. Cano http://emilio.lcano.com> El 14 abr 2022, a las 16:01, Stalin Granda <svgranda en gmail.com> escribió: > > Hola a todos, > > Estoy trabajando con un modelo de predicción de para ajustar la curva de retención de agua (theta ~ WRC) de acuerdo con la Ec. de van Genutchen > > fitted <- nls(theta ~ qr + (qs-qr)/(1+(alpha*h)^n)^(1-1/n), start=list(qs=0.64, qr=0.30, alpha =.37, n=2.83)) > > Después de correr el código, los datos ajustados (theta) se ven bastante bien para un cierta sección de la curva (entre 0,178 y 2,87 pF), pero con estos mismos ahora necesito generar una ecuación polinómica que me permita calcular (theta) para otros valores de la curva, entre 0 y 4,27 pF (h ~ pF). > > Estoy aplicando machine learning, realizando la partición correspondiente para datos evaluados y testados. > > training.muestra <- datos1$predichos %>% > createDataPartition(p=0.8, list = FALSE) > train.data <- datos1 [training.muestra, ] > test.data <- datos1 [-training.muestra, ] > > He generado el modelo 3 (datos1.csv) para una ecuación polinómica de grado 3: > > modelo3 <- lm(predichos ~ poly(h,3),data = train.data) > summary(modelo3)$coef > predicciones3 <- modelo3 %>% predict(test.data) > predicciones3 > > Los resultados se muestran: > > Estimate Std. Error t value Pr(>|t|) > (Intercept) 0.53733575 0.0004243755 1266.17982 2.609800e-156 > poly(h, 3)1 -0.58854606 0.0036752001 -160.13987 1.358153e-92 > poly(h, 3)2 -0.13918929 0.0036752001 -37.87258 7.919609e-49 > poly(h, 3)3 0.06016205 0.0036752001 16.36973 8.380817e-26 > > Con estos datos. género la ecuación correspondiente, pero al hacer el cálculo para otros valores de la curva en excel, el gráfico no se muestra igual como en r. > > Será que estoy haciendo algo mal, alguien me puede dar luces al respecto. En el adjunto les dejo los valores con los que estoy trabajando. > > Saludos cordiales, > > Stalin > > > -- > Stalin Granda A. > Magíster en Ingeniería Mc. Recursos Hídricos > UACh > > <datos1.csv>_______________________________________________ > R-help-es mailing list > R-help-es en r-project.org > https://stat.ethz.ch/mailman/listinfo/r-help-es[[alternative HTML version deleted]]