¡Ajá, excelente pregunta!
También habría propuesto ingenuamente una curva logisítica en forma de S, pero esto obviamente es un mal ajuste. Hasta donde sé, el aumento constante es una aproximación porque YouTube cuenta las vistas únicas (una por dirección IP), por lo que no puede haber más vistas que las computadoras.
Podríamos usar un modelo epidemiológico en el que las personas tienen diferente susceptibilidad. Para simplificar, podríamos dividirlo en el grupo de alto riesgo (digamos los niños) y el grupo de bajo riesgo (digamos los adultos). Llamemos la proporción de niños "infectados" e la proporción de adultos "infectados" en el momento . Llamaré a el número (desconocido) de individuos en el grupo de alto riesgo y el número (también desconocido) de individuos en el grupo de bajo riesgo.x(t)y(t)tXY
x˙(t)=r1(x(t)+y(t))(X−x(t))
y˙(t)=r2(x(t)+y(t))(Y−y(t)),
donde . No sé cómo resolver ese sistema (tal vez @EpiGrad lo haría), pero mirando sus gráficos, podríamos hacer un par de suposiciones simplificadoras. Debido a que el crecimiento no se satura, podemos suponer que es muy grande e es pequeño, or1>r2Yy
x˙(t)=r1x(t)(X−x(t))
y˙(t)=r2x(t),
que predice el crecimiento lineal una vez que el grupo de alto riesgo está completamente infectado. Tenga en cuenta que con este modelo no hay ninguna razón para suponer , sino todo lo contrario porque el término grande ahora se incluye en .r1>r2Y−y(t)r2
Este sistema resuelve a
x(t)=XC1eXr1t1+C1eXr1t
y(t)=r2∫x(t)dt+C2=r2r1log(1+C1eXr1t)+C2,
donde y son constantes de integración. La población total "infectada" es entonces
, que tiene 3 parámetros y 2 constantes de integración (condiciones iniciales). No sé lo fácil que sería encajar ...C1C2x(t)+y(t)
Actualización: jugando con los parámetros, no pude reproducir la forma de la curva superior con este modelo, la transición de a siempre es más nítida que la anterior. Continuando con la misma idea, podríamos asumir nuevamente que hay dos tipos de usuarios de Internet: los "compartidores" y los "solitarios" . Los participantes se contagian, los solitarios se topan con el video por casualidad. El modelo es0600,000,000x(t)y(t)
x˙(t)=r1x(t)(X−x(t))
y˙(t)=r2,
y resuelve a
x(t)=XC1eXr1t1+C1eXr1t
y(t)=r2t+C2.
Podríamos suponer que , es decir , que solo hay un paciente 0 en , lo que produce porque es un número grande. para que podamos suponer que . Ahora solo los 3 parámetros , y determinan la dinámica.x(0)=1t=0C1=1X−1≈1XXC2=y(0)C2=0Xr1r2
Incluso con este modelo, parece que la inflexión es muy aguda, no se ajusta bien, por lo que el modelo debe estar equivocado. Eso hace que el problema sea muy interesante en realidad. Como ejemplo, la figura a continuación fue construida con , y .X=600,000,000r1=3.667⋅10−10r2=1,000,000
Actualización: De los comentarios, deduje que Youtube cuenta las vistas (en su forma secreta) y no las IP únicas, lo que hace una gran diferencia. De vuelta al tablero de dibujo.
Para simplificar, supongamos que los espectadores están "infectados" por el video. Vuelven a verlo regularmente, hasta que eliminan la infección. Uno de los modelos más simples es el SIR (Susceptible-Infected-Resistant) que es el siguiente:
˙ I (t)=αS(t)I(t)-βI(t) ˙ R (t)=βI(t)
S˙(t)=−αS(t)I(t)
I˙(t)=αS(t)I(t)−βI(t)
R˙(t)=βI(t)
donde es la tasa de infección y es la tasa de eliminación. El recuento total de vistas es tal que , donde es el promedio de vistas por día por individuo infectado.β x ( t ) ˙ x ( t ) = k I ( t ) kαβx(t)x˙(t)=kI(t)k
En este modelo, el recuento de vistas comienza a aumentar abruptamente algún tiempo después del inicio de la infección, lo cual no es el caso en los datos originales, tal vez porque los videos también se propagan de manera no viral (o meme). No soy experto en estimar los parámetros del modelo SIR. Simplemente jugando con diferentes valores, esto es lo que se me ocurrió (en R).
S0 = 1e7; a = 5e-8; b = 0.01 ; k = 1.2
views = 0; S = S0; I = 1;
# Exrapolate 1 year after the onset.
for (i in 1:365) {
dS = -a*I*S;
dI = a*I*S - b*I;
S = S+dS;
I = I+dI;
views[i+1] = views[i] + k*I
}
par(mfrow=c(2,1))
plot(views[1:95], type='l', lwd=2, ylim=c(0,6e8))
plot(views, type='n', lwd=2)
lines(views[1:95], type='l', lwd=2)
lines(96:365, views[96:365], type='l', lty=2)
Obviamente, el modelo no es perfecto, y podría complementarse de muchas maneras. Este bosquejo muy aproximado predice mil millones de visitas en algún lugar alrededor de marzo de 2013, veamos ...