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]]