regression polynomiale
Le
olive

Bonjour,
Je ne suis ni matheux ni vraiment programmeur, mais pour un besoin bien
précis, je souhaiterais savoir s'il existe en Python une fonction qui
permette d'effectuer une regression polynomiale d'ordre 2 sur une série
de données.
Voici ce que je souhaiterais faire : j'ai une très longue série de
nombres entiers compris disons entre 1950 et 2014 (ce sont des années,
vous l'aurez compris), dans un fichier texte, disposées les unes sur les
autres. Il faudrait dénombrer chaque occurence et l'associer à sa valeur
(ça je pense pouvoir y arriver).
De cela, il faudrait interpoler l'équation du second degré correspondant
le mieux à ces couples de données (pardonnez mes maladresses
d'expression, ma Terminale S remonte à plus de 15 ans et je ne sais pas
si je suis clair).
Dans l'idéal : l'input serait constitué de ce fichier de "dates
(années)", l'output de l'équation de la courbe. Bien entendu, je ne
réclame pas un programme clef en main, mais c'est pour que les lecteurs
de ce groupe aient une idée de l'objetif.
Je vous remercie pour l'aide que vous voudrez bien m'apporter.
--
Olivier
Je ne suis ni matheux ni vraiment programmeur, mais pour un besoin bien
précis, je souhaiterais savoir s'il existe en Python une fonction qui
permette d'effectuer une regression polynomiale d'ordre 2 sur une série
de données.
Voici ce que je souhaiterais faire : j'ai une très longue série de
nombres entiers compris disons entre 1950 et 2014 (ce sont des années,
vous l'aurez compris), dans un fichier texte, disposées les unes sur les
autres. Il faudrait dénombrer chaque occurence et l'associer à sa valeur
(ça je pense pouvoir y arriver).
De cela, il faudrait interpoler l'équation du second degré correspondant
le mieux à ces couples de données (pardonnez mes maladresses
d'expression, ma Terminale S remonte à plus de 15 ans et je ne sais pas
si je suis clair).
Dans l'idéal : l'input serait constitué de ce fichier de "dates
(années)", l'output de l'équation de la courbe. Bien entendu, je ne
réclame pas un programme clef en main, mais c'est pour que les lecteurs
de ce groupe aient une idée de l'objetif.
Je vous remercie pour l'aide que vous voudrez bien m'apporter.
--
Olivier
C'est possible avec numpy :
http://docs.scipy.org/doc/numpy/reference/generated/numpy.polyfit.html
Je n'ai pas complètement bien compris la forme de tes données (tu parles
d'années avec des répétitions puis de valeurs, on ne sait pas à quoi
correspondent ces dernières). Avec un peu plus de détails, on pourra
sans doute t'aider de façon plus précise.
--
DW
Bonjour,
Je ne comprends pas. Il faudrait réexpliquer avec un échantillon de
données, peut-être.
Ok. Il faut compter le nombre de 1950, par exemple ?
Quel valeur ? quel occurrence ? Associer 1950 à quoi ?
Un problème bien posé est un problème pratiquement résolu. :-)
@+
--
Yves
impeccable, ça marche parfaitement. J'ai pu écrire le code que se
souhaitais.
Oui pardon, c'était confus. J'ai des données sous la forme :
1984
2013
2012
2013
1976
...
Il s'agissait de compter le nombre d'occurences de chaque année.
Mais encore une fois, c'est résolu, merci à tous les deux pour votre
aide.
--
Olivier
Ah d'accord.
Pour représenter ce genre de données, un histogramme est pas mal:
http://tinyurl.com/ogpny3o
C'est assez facilement faisable avec pylab.
Mais bon, ce n'est pas la question.
@+
--
Yves