Table of Contents
Para predecir la inmunidad de rebaño en un país dado por los datos, estudiamos diferentes parámetros procedentes del conjunto de datos de vacunaciones del país. Seleccionamos total_de_vacunaciones y personas_plenamente_vacunadas_por_ciento teniendo en cuenta este último ratio como uno de los más significativos para medir el progreso de la inmunidad. Si quieres saber más sobre el análisis exploratorio anterior con ideas reveladoras como la correlación entre el crecimiento de la GPD del país y el progreso de la inmunidad procedente de los datos de COVID, puedes echar un vistazo aquí. Y en este post veremos la previsión del progreso de la inmunidad con Prophet
Previsión de vacunación de inmunidad
En cuanto a la búsqueda de la herramienta de previsión más significativa, trazamos la suma acumulada del progreso de personas totalmente vacunadas en el tiempo para visualizar el tipo de crecimiento. Como conclusión, descubrimos que el patrón sigue un tipo de curva de crecimiento logístico, apuntando a un comportamiento en el que la inmunidad de rebaño comienza siendo pequeña pero aumenta exponencialmente, pero luego comienza a disminuir hacia y asíntota. Al pensar en este tipo de curva de crecimiento logístico, suele haber algún punto máximo alcanzable: tamaño total del mercado, tamaño total de la población, etc. Para nuestro modelo de predicción, el concepto clave es asumir un parámetro de tope que podría estar alineado con el ritmo o el comportamiento de vacunación.
Según las fuentes de datos, Israel ha destacado como líder en vacunación. El hecho de contar con diferentes grupos de edad, una campaña de vacunación muy comercializada y un ritmo de vacunación inquieto han sido factores clave de éxito para lograr estos resultados.
¿Por qué utilizar Prophet?
Prophet es un procedimiento de previsión implementado en R y Python. Es rápido y proporciona previsiones completamente automatizadas que pueden ser ajustadas a mano por científicos y analistas de datos. Tiene muy en cuenta la estacionalidad y se ha utilizado para predecir el impacto de las campañas de Facebook. De hecho, ofrece flexibilidad y ajuste automático de varios parámetros.
Seleccionamos esta herramienta porque nos permite establecer un modelo de predicción de crecimiento logístico con un parámetro cap como una secuencia creciente, siguiendo el patrón que sigue la inmunidad de la manada. Además, permite seleccionar los días de predicción que queremos.
A la hora de implementar la capacidad de carga, diseñamos una función Python con numpy que seguirá el ritmo de crecimiento que se ha observado en la suma acumulada de personas_plenamente_vacunadas.
def create_cap_sequence(dataset, n_days, growth_pattern):
'''Creates a cap sequence list for forecasting growth and
implements it as a column in a dataframe
Args :
dataset for prediction
number of days
growth_pattern : increase of people_fully_vaccinated per day
'''
interval = 1
list_cap = np.arange(0, interval* n_days, growth_pattern)
dataset['cap'] = list_cap
return dataset
Para escalar este modelo para todos los países, instanciaremos su propio modelo de crecimiento logístico teniendo en cuenta la capacidad de carga. Para ello, entenderemos que cada país tiene su propia secuencia de tope de crecimiento y lo implementaremos de forma coherente utilizando la función descrita en la Fig3.
Al crear el modelo Prophet de aprendizaje automático, tendremos en cuenta para seleccionar el parámetro logístico cuando lo instanciemos, periodos como el número de días que queremos predecir.
def prophet_model(dataset, number_of_days, cap_parameter):
'''Creates the machine learning model for forecasting herd inmunity,
a forecast dataset and returns the plot
Args :
dataset : country dataset that includes renamed columns for
Prophet, and the carrying capacity column
number_of_days : number of days to predict
cap_parameter : total carrying capacity of herd imnutiy per country
'''
model = Prophet.Prophet(growth='logistic')
model.fit(dataset)
future_dataset = m.make_future_dataframe(periods = number_of_days)
future_dataset['cap'] = cap_parameter
forecast = model.predict(future_dataset)
return model.plot(forecast)
Conclusiones
La población ha sido educada para tomar precauciones y medidas de seguridad para bajar una curva de inflexión de distribución normal. El progreso de la inmunidad sigue un patrón logístico, ahora podría ser el momento de apuntar y apoyar todas las iniciativas que sigan una curva logística y puedan aumentar la capacidad de carga.