Salut tous,
je cherche à faire des régressions avec des modèles simples mais je ne sais pas trop comment choisir le modèle et l'identifier (j'ai fais plusieurs tests qui me paraissait correctes mais la courbe obtenue n'est pas bonne...)
Tout d'abord, voici mes deux courbes que je cherche à identifier :
(cf. PJ image plus données pour la première courbe)
Je vous explique ce que je dois respecter :
1°) je veux utiliser polyfit pour identifier mes modeles car fonction très rapide
2°) il faut que le modèle est une évolution monotone. Donc pour la premiere courbe il faut que la dérivée du modèle soit toujours positive est sur le second modele toujours négative.
Voici ce que j'ai fais :
1°) j'ai choisi un modèle Y=A.X^B
ce qui me donne : ln(Y)=ln(A)+B.ln(X)
=> du coup, j'ai fais
2°) j'ai choisi un modèle Y=A.ln(B.X)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 p=polyfit(log(X),log(Y),1) A=exp(p(2)); B=p(1); modele=A*X.^B; figure(1) plot(X,modele)
ce qui me donne : exp(Y)=exp(A)+B.X
=> du coup, j'ai fais
3°) j'ai choisi un modèle Y=A.exp(B.X)
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 p=polyfit(X,exp(Y),1) A=log(p(2)); B=p(1); modele=A.log(B.X); figure(1) plot(X,modele)
ce qui me donne : ln(Y)=ln(A)+B.X
=> du coup, j'ai fais
Avec un de ces trois modèles je m'attendais à avoir un résultat correct pour ma première courbe mais "que nenni"
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 p=polyfit(X,ln(Y),1) A=exp(p(2)); B=p(1); modele=A.exp(B.X); figure(1) plot(X,modele)
=> du coup, je ne sais plus trop quoi faire... je ne sais pas si le problème vient de mes modèles où de ma programmation...
Partager