Disons que j'ai une liste des précipitations par heure, chacune indiquant la quantité de pluie tombée au cours des 24 heures précédentes, classée par date. Par exemple:
{
'2012-05-24 12:00': 0.5, // .5" of rain from 5/23 12:00 - 5/24 11:59
'2012-05-24 11:00': 0.6, // .6" of rain from 5/23 11:00 - 5/24 10:59
'2012-05-24 10:00': 0.6, // .6" of rain from 5/23 10:00 - 5/24 09:59
...
'2012-05-23 10:00': 0
}
Existe-t-il une stratégie / un algorithme pour déterminer la quantité de pluie tombée à chacune des heures? Je n'arrive pas à envelopper ma tête autour de ça. Je sais que ce n'est pas aussi simple que de simplement résumer les différences.
Visualisation de l'ensemble de données
P(N) [.....======================]
P(N-1) [....======================.]
P(N-2) [...======================..]
P(N-3) [..======================...]
I want [..........................=]
Un grand merci pour toute aide.
algorithms
functional-programming
functions
Mike Griffith
la source
la source
P(N-x)
gagnez une inconnue pour chaque que vous ajoutez, donc à la fin le nombre d'équations et d'inconnues ressort à nouveau.Réponses:
En supposant que l'ensemble de données se compose toujours de fenêtres consécutives de 24 heures (c'est-à-dire que le premier point de données n'est pas une fenêtre d'une heure) ...
Ce n'est pas un problème résoluble au moins dans le cas général, car il existe un contre-exemple où au moins deux modèles de pluie correspondent à un ensemble de données.
Dans les deux cas, vous êtes
P(N) = 24"
pour tousN
.Puisqu'aucun scénario ne peut être dérivé de cet ensemble de données, le problème n'est pas résoluble au sens générique.
Soit dit en passant, nous pouvons également démontrer qu'il n'est pas nécessairement vrai que le problème est toujours insoluble. Plus simplement, si
P(N) = 0"
pour tousN
, il n'y a qu'un seul modèle de pluie possible pour l'expliquer: zéro pouce de pluie à chaque heure.C'est donc le problème le plus intéressant d'identifier quelles caractéristiques de l'ensemble de données rendent le problème résoluble. Curieusement, si vous avez un ensemble de données avec au moins un
N
telP(N) = 0"
, alors vous avez une solution.Je ne serais pas surpris s'il y avait d'autres propriétés qui rendraient le problème résoluble pour un ensemble de données donné. Les trouver devrait être un défi amusant. En même temps, prouver qu'il n'en existe pas est tout aussi amusant.
la source
vous devez parcourir les données jusqu'à ce que vous trouviez une période de précipitation de 0, puis vous calculez vers l'avant à partir de ce point comme le décrit SnOrus. Si aucun point de données n'est égal à 0, je ne pense pas que cela puisse être résolu à moins que vous ne définissiez la première entrée à 1 heure après le début du temps, de sorte que les points antérieurs à celui-ci ne sont pas définis.
il serait également possible de calculer en arrière dans le temps à partir d'une lecture de 0, en faisant la même chose en sens inverse (bien que vous obtiendrez au moins 24 0 de suite.
la source
... devrait vous donner la quantité de pluie dans l'heure qui précède
P(n)
.la source
Ce n'est pas une réponse complète, je suis au travail et y ai déjà passé beaucoup de temps ... en outre, j'aurais besoin de plus de données pour voir si mon intuition est correcte.
Appelons P (x) la mesure de 24 heures au temps x.
Considérons le scénario de chevauchement suivant:
P (X) - P (X-1) + H25 = H1.
Vous devez donc calculer H25. Je crois que la solution va reposer quelque part dans un système créé à partir de P (X), P (X-1) et P (X-24).
la source
Pour deux heures consécutives n (maintenant) et n-1 (l'heure précédente maintenant), vous avez la somme des précipitations de vingt-quatre heures (T) composée de 24 nombres de précipitations horaires (P):
Donc:
(Les termes P (n-1) ... P (n-23) sont dupliqués dans T (n) et T (n-1), donc leur soustraction donne 0.) En réorganisant, vous obtenez:
Maintenant, vous ne pouvez pas comprendre ce qu'est P (n) à moins de savoir ce qu'est P (n-24). Vous pouvez remonter plus loin dans les données pour calculer P (n-24), mais pour obtenir cela, vous avez besoin de P (n-25) et ainsi de suite à l'infini. Ce dont vous avez besoin, c'est donc la valeur des précipitations pour toute heure antérieure à 24 heures. Si vous en avez, vous pouvez calculer les précipitations horaires pour toutes les heures suivantes.
la source