Quiero suponer que la temperatura de la superficie del mar del mar Báltico es la misma año tras año, y luego describirlo con un modelo lineal / función. La idea que tenía era ingresar el año como un número decimal (o num_months / 12) y averiguar cuál debería ser la temperatura en ese momento. Al arrojarlo a la función lm () en R, no reconoce datos sinusoidales, por lo que solo produce una línea recta. Así que puse la función sin () dentro de un paréntesis I () e intenté algunos valores para ajustar manualmente la función, y eso se acerca a lo que quiero. Pero el mar se está calentando más rápido en el verano y luego se está enfriando más lentamente en el otoño ... Entonces, el modelo se equivoca el primer año, luego se vuelve más correcto después de un par de años, y luego en el futuro, supongo que se vuelve más y más mal otra vez.
¿Cómo puedo obtener R para estimar el modelo para mí, para que no tenga que adivinar los números yo mismo? La clave aquí es que quiero que produzca los mismos valores año tras año, no solo que sea correcto durante un año. Si supiera más sobre matemáticas, tal vez podría adivinarlo como algo así como un Poisson o Gaussiano en lugar de pecado (), pero tampoco sé cómo hacerlo. Cualquier ayuda para acercarse a una buena respuesta sería muy apreciada.
Aquí están los datos que uso y el código para mostrar resultados hasta ahora:
# SST from Bradtke et al 2010
ToY <- c(1/12,2/12,3/12,4/12,5/12,6/12,7/12,8/12,9/12,10/12,11/12,12/12,13/12,14/12,15/12,16/12,17/12,18/12,19/12,20/12,21/12,22/12,23/12,24/12,25/12,26/12,27/12,28/12,29/12,30/12,31/12,32/12,33/12,34/12,35/12,36/12,37/12,38/12,39/12,40/12,41/12,42/12,43/12,44/12,45/12,46/12,47/12,48/12)
Degrees <- c(3,2,2.2,4,7.6,13,16,16.1,14,10.1,7,4.5,3,2,2.2,4,7.6,13,16,16.1,14,10.1,7,4.5,3,2,2.2,4,7.6,13,16,16.1,14,10.1,7,4.5,3,2,2.2,4,7.6,13,16,16.1,14,10.1,7,4.5)
SST <- data.frame(ToY, Degrees)
SSTlm <- lm(SST$Degrees ~ I(sin(pi*2.07*SST$ToY)))
summary(SSTlm)
plot(SST,xlim=c(0,4),ylim=c(0,17))
par(new=T)
plot(data.frame(ToY=SST$ToY,Degrees=8.4418-6.9431*sin(2.07*pi*SST$ToY)),type="l",xlim=c(0,4),ylim=c(0,17))