質問: ### 前提・実現したいこと 例えば、以下のサイトのような http://uxmilk.jp/30240 線を描いた数値配列データ(例えば5個のデータ)を渡すと ・上昇から下降になった曲線 ・ずっと上昇・下降 ・下降から上昇になった曲線 のように、どのような線を描いているかを解析する作成したいと思っていますが、 どうやって作成したらいいのか教えて頂けないでしょうか。 どうぞよろしくお願い致します。
回答: 『5個のデータ』って、**通過点の座標**が5個ということでしょうか。 > > ・(A) 上昇から下降になった曲線 > > ・(B) ずっと上昇・下降 > > ・(C) 下降から上昇になった曲線 > > ・(D) それ以外 > > > この四つの分類くらいなら難しくないですよ。機械的にやる分には。 前処理として、点が左から右に並ぶようにソートしておき、y座標のリスト`ys`を作ります。 そして一階差分のリスト`div1_ys`と二階差分のリスト`div2_ys`の符号を見ます。 * (A)... div2_ysの符号が常に負である場合。 * (B)... div1_ysが符号が一定である場合。 * (C)... div2_ysの符号が常に正である場合。 * (D)... *otherwise.* これで判別できる理由に関しては、高校数学の微分の知識である程度説明できるはずです。 一般の非線型回帰については、scipyで対処できるようす。Qiita - Pythonで非線形関数モデリング