Twitter iPhone pliant OnePlus 11 PS5 Disney+ Orange Livebox Windows 11

regression polynomiale

4 réponses
Avatar
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

4 réponses

Avatar
Damien Wyart
* olive in fr.comp.lang.python:
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.



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
Avatar
yves
Le Fri, 20 Dec 2013 19:57:22 +0000, olive a écrit:

Bonjour,

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).


disposées les unes sur les autres.



Je ne comprends pas. Il faudrait réexpliquer avec un échantillon de
données, peut-être.

dénombrer chaque occurence



Ok. Il faut compter le nombre de 1950, par exemple ?

et l'associer à sa valeur



Quel valeur ? quel occurrence ? Associer 1950 à quoi ?

Un problème bien posé est un problème pratiquement résolu. :-)


@+
--
Yves
Avatar
olive
Damien Wyart écrivait :

C'est possible avec numpy :
http://docs.scipy.org/doc/numpy/reference/generated/numpy.polyfit.html



impeccable, ça marche parfaitement. J'ai pu écrire le code que se
souhaitais.

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.



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
Avatar
yves
Le Sun, 22 Dec 2013 16:44:53 +0000, olive a écrit:

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.



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