[R-es] R pred
Javier Marcuzzi
j@v|er@ruben@m@rcuzz| @end|ng |rom gm@||@com
Mie Mayo 24 16:53:25 CEST 2023
Estimado José
Hay que leer mucho esa librería, funciona distinto a la regla general, por ejemplo, recién realizo un modelo lineal con solo diez números, del uno al cinco y semejantes con decimales, una tontería, pero su utilizo la función summary() hay parámetros, a los cuáles puedo acceder utilizando el símbolo $, sin embargo esto no se da resultado en EpiModel, posiblemente por esa razón no anda la predicción.
Seguramente en la documentación hay algún ejemplo, o el autor explica la fórmula o algoritmo utilizado en el cálculo, lo que haría posible calcular según sus requerimientos.
Mire este ejemplo, por la cuál la regla general de R no funciona, pero alguna forma muy específica debe haber, lo cuál yo desconozco.
> summary(modelo)
Call:
lm(formula = datos)
Residuals:
1 2 3 4 5
0.007605 0.095057 -0.121673 -0.338403 0.357414
Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -2.9620 0.5846 -5.067 0.01484 *
x 3.0418 0.2904 10.474 0.00186 **
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1
Residual standard error: 0.2979 on 3 degrees of freedom
Multiple R-squared: 0.9734, Adjusted R-squared: 0.9645
F-statistic: 109.7 on 1 and 3 DF, p-value: 0.001858
> summary(mod2)
Error in summary.dcm(mod2) : Specify at between 1 and 10
Javier Rubén Marcuzzi
> El 24 may. 2023, a las 10:02, Jose Betancourt Bethencourt <betanster using gmail.com> escribió:
>
> Otro ejemplo
> Se está realizando vigilancia epidemiológica y al décimo día se
> observa esta situación. Se necesita hacer un pronóstico de este brote
> durante 10 días más
>
>
> library(EpiModel)
> param <- param.dcm(inf.prob = 0.2, act.rate = 5,
> rec.rate = 1/5, a.rate = 1/90, ds.rate = 1/100,
> di.rate = 1/35, dr.rate = 1/100)
> init <- init.dcm(s.num = 500, i.num = 1, r.num = 0)
> control <- control.dcm(type = "SIR", nsteps = 10)
> mod2 <- dcm(param, init, control)
> mod2
> plot(mod2)
>
>
> El 24/5/23, Javier Marcuzzi <javier.ruben.marcuzzi using gmail.com> escribió:
>> José
>>
>> Envié antes el correo
>>
>> El código anda, yo tendría que estudiarlo, pero, posiblemente no funcione
>> predict porque no está pensado para eso, pero podría calcularlo, sin saber
>> como, posiblemente desde tiempo, su gráfica da 500 en tiempo. Pero no
>> trabajo sobre esa librería, opinar de mi parte sería absurdo.
>>
>> Javier Marcuzzi
>>
>>> El 24 may. 2023, a las 08:39, Jose Betancourt Bethencourt
>>> <betanster using gmail.com> escribió:
>>>
>>> Quisiéramos agregar predicción para siete días a este modelo :
>>> library(EpiModel)
>>>
>>> param <- param.dcm(inf.prob = 0.2, act.rate = 5,
>>> rec.rate = 1/3, a.rate = 1/90, ds.rate = 1/100,
>>> di.rate = 1/35, dr.rate = 1/100)
>>> init <- init.dcm(s.num = 500, i.num = 1, r.num = 0)
>>> control <- control.dcm(type = "SIR", nsteps = 500)
>>> mod2 <- dcm(param, init, control)
>>> mod2
>>> plot(mod2)
>>>
>>> El 24/5/23, Javier Marcuzzi <javier.ruben.marcuzzi using gmail.com> escribió:
>>>> Estimado José Betancourt
>>>>
>>>> Corrí si código en Mac, el mensaje que me da a mí es el siguiente:
>>>>
>>>> Error in UseMethod("predict") :
>>>> no applicable method for 'predict' applied to an object of class "icm"
>>>>
>>>> No sabría más que decir.
>>>>
>>>> Javier Rubén Marcuzzi
>>>>
>>>>> El 24 may. 2023, a las 08:23, Jose Betancourt Bethencourt
>>>>> <betanster using gmail.com> escribió:
>>>>>
>>>>> library(EpiModel)
>>>>>
>>>>> # Definir los parámetros iniciales
>>>>> param <- param.icm(inf.prob = 0.2, act.rate = 0.25, rec.rate = 1/50)
>>>>>
>>>>> # Definir las condiciones iniciales
>>>>> init <- init.icm(s.num = 500, i.num = 1, r.num = 0)
>>>>>
>>>>> # Definir las opciones de control
>>>>> control <- control.icm(type = "SIR", nsteps = 500, nsims = 10)
>>>>>
>>>>> # Crear el modelo original
>>>>> mod1 <- icm(param, init, control)
>>>>>
>>>>> # Ajustar los parámetros para reflejar la situación actual
>>>>> param2 <- param.icm(inf.prob = 0.3, act.rate = 0.3, rec.rate = 1/40)
>>>>>
>>>>> # Crear un nuevo modelo conlos nuevos parámetros
>>>>> mod2 <- icm(param2, init, control)
>>>>>
>>>>> # Generar predicciones para los próximos 7 días
>>>>> pred <- predict(mod2, times = 501:508, nsims = 100)
>>>>>
>>>>> # Graficar las predicciones
>>>>> plot(pred)
>>>>
>>>>
>>>
>>>
>>> --
>>> Dr. Jose A. Betancourt Bethencourt
>>> Universidad de Ciencias Medicas Carlos j. Finlay
>>
>>
>
>
> --
> Dr. Jose A. Betancourt Bethencourt
> Universidad de Ciencias Medicas Carlos j. Finlay
Más información sobre la lista de distribución R-help-es