J'ai une matrice numpy simple, pour chaque date, il existe un point de données. Quelque chose comme ceci: existe-t-il un moyen facile d'extrapoler les points de données à l'avenir: date (2008, 5,1), date (2008, 5, 20) etc? Je comprends que cela puisse être fait avec des algorithmes mathématiques. Mais ici, je cherche des fruits peu suspendus. En fait j'aime ce que Numpy.linalg.solve fait, mais cela ne semble pas applicable à l'extrapolation. Peut-être que je suis absolument faux. P> effectivement être plus précis, je construis un tableau de burn-down (terme XP): 'x = date et y = volume de travail à faire ", donc j'ai eu Les sprints déjà faites et je tiens à visualiser comment les futures sprints ira si la situation actuelle persiste. Et enfin, je veux prédire la date de sortie. Donc, la nature du "volume de travail à faire" est-elle toujours baissée sur des tableaux de combustion. De plus, je veux obtenir la date de sortie extrapolée: date lorsque le volume devient zéro. P> C'est tout pour montrer à Dev équipe comment les choses vont. La précision n'est pas si importante ici :) La motivation de l'équipe de Dev est le facteur principal. Cela signifie que je suis absolument parfaite avec la technique d'extrapolation très approximative. P> p>
4 Réponses :
Les modèles mathématiques sont la voie à suivre dans ce cas. Par exemple, si vous n'avez que trois points de données, vous ne pouvez absolument avoir aucune indication sur la manière dont la tendance va se dérouler (pourrait être une parabole.) P>
Obtenez des cours de statistiques et essayez de mettre en œuvre les algorithmes. Essayez Wikibooks . P>
Absolument d'accord, le comprenez-le, mais je veux clarifier, je ne vérifie que s'il ya des chances, il existe une fonction numpy.extrapolate déjà en place, avec argument "Choisir la méthode d'extrapolation" :) C'est pourquoi je l'appelle "fruit de suspension"
Vous devez swpecify sur quelle fonction vous avez besoin d'extrapolation. Que vous pouvez utiliser la régression http://fr.wikipedia.org/wiki/regression_analysis à trouver paratmètres de la fonction. Et extrapoler cela à l'avenir. P>
Par exemple: Traduisez les dates en x valeurs x et utilisez le premier jour comme x = 0 pour votre problème, les valeurs deviennent apoximatly (0,1.2), (400,1.8), (900.5.3) P>
Maintenant, vous décidez que ses points réside sur la fonction de type
A + B x + c em> x ^ 2 p>
Utilisez la méthode de moindre compression pour trouver A, B et C
http://fr.wikipedia.org/wiki/linear_lease_squares
(Je fournirai une source complète, mais plus tard, la Bécuase je n'ai pas le temps pour cela) P>
Un moyen simple de faire des extrapolations consiste à utiliser des polynômes ou des splines interpolant: il existe de nombreuses routines pour cela dans SCIPY.Interpoler , et il est assez facile à utiliser (donnez simplement les points (x, y) et vous obtenez une fonction [appelable, précisément]). P>
Maintenant, comme indiqué dans ce fil, vous ne pouvez pas vous attendre à ce que l'extrapolation soit toujours significative (surtout lorsque vous êtes loin de vos points de données) si vous n'avez pas de modèle pour vos données. Cependant, je vous encourage à jouer avec les interpolations polynomiales ou splines de Scipire.interpolate pour voir si les résultats que vous obtenez vous conviennent. P>
C'est trop facile pour l'extrapolation pour générer des ordures; essaye ça. De nombreuses extrapolations différentes sont bien sûr possibles; Certains produisent des ordures évidentes, des ordures non évidentes, beaucoup sont mal définies.
L'interpolation n'est pas extrapolée et l'inverse.
Quand vous avez googlé pour "Statistics Python", qu'avez-vous trouvé? Des questions sur l'un des forfaits statistiques que vous avez trouvés?
Il est difficile de parler d'une extrapolation, sans connaître la nature des données en question. Ce qui précède, dans la mesure où on peut voir, pourrait être n'importe quoi (sans exclure les valeurs aléatoires), afin de parler de toute approche pratique ne serait que spéculer. Affinez la question.
tu as tout à fait raison! raffiné.