▶ EXCELにデータを取り込む方法は以下の記事をご覧ください。データをただEXCELで開くだけではなく、データを取り込むときに文字コード指定したり、先頭数行をスキップするなどの処理をすることができます。
▶ さらにEXCELで前処理をする場合は、以下を参考にしてください。
はじめに
手元にあるデータから傾向を把握して、今後どのようになるかを予測したくなることがありますよね。今回はPythonからいったん離れて近似曲線を描く時の注意をまとめることにしましょう。EXCELで近似曲線を追加する方法を確認します。
どんな種類があるか
EXCELでグラフを描画したあと、近似曲線を追加することができます。グラフのプロットを選択した状態で右クリックすると、「近似曲線の追加」というメニューがあるので、これをクリックします。
すると、近似曲線のオプションが表示され、「指数近似」「線形近似」「対数近似」「多項式近似」・・・などいろんな近似曲線があることがわかります。よく目にするのは「線形近似」ですが、必ずしもこれが最適とは限りません。一方で、「多項式近似」などで現在のデータへの当てはまりをよくしても、予測では的外れな値になってしまうこともあります。
そこで近似曲線の種類を選ぶ時の考え方を整理しておきましょう。
近似曲線の選び方
まずデータをプロットしてみて、大体の傾向を把握しましょう。このとき、データはどのような変化をしていますか?増えるあるいは減るのように、一方向に向かう傾向があるのか、それとも(一方向ではなく)増えたり減ったりするのか、をまず確認しましょう。
データが増えたり減ったりする
もしもデータが増えたり減ったりするのであれば、EXCELでは「多項式近似」しかありません。あとは、増えたり減ったりする回数によって多項式の次数で調整します。
ただ、あまり次数を高くして手元にあるデータにフィッティングさせても、予測には適さない場合が多いです。注意して使うようにしましょう。たとえば、次のような次のようなデータがったあったときに、5次の多項式で近似すると今あるデータに関しては近似式で表せてますが、この先のデータはこの近似式で表せているでしょうか?
このような、「既にあるデータには適合するけど、新たなデータを予測することができない」状態を過学習(オーバーフィッティング)といいます。近似曲線が過学習とならないように注意するようにしましょう。
※分析しようとしているデータはどのような特徴をもっているのか
※現在手元にあるデータに異常値となるものがないか
※上記を考慮したうえで、次数は適切であるか
変化の方向が方向が決まっているとき
次に、変化の方向が決まっている場合です。増える方向であるか、減る方向なのかが定まっている場合です。この場合は、次に変化量が一定であるか、変化量が変化するか、を考えていきます。変化の方向が「増える」場合について、みていきましょう。
変化量がほぼ一定の場合
変化量がほぼ一定の場合は線形近似になります。以下のような状態です。横軸の値が増えていくにつれ、同じ割合で縦軸の値も増える、という関係ですね。
変化量が徐々に増えていく場合
変化量が徐々に増えていく場合は、指数近似あるいは、累乗近似となります。
- 指数近似
y=a*e^(b*x) (aとbは定数、eは自然対数の底)をもとに近似曲線を 作成します。 片対数(yを対数)でグラフを書くと直線になります。 データの増加や現象の割合が次第に大きくなる場合の分析に適しています。
- 累乗近似
y=a*x^b (aとbは定数)をもとに近似曲線を作成します。 両対数で グラフを書くと直線になります。 加速度的に増加するデータの分析に適しています。
変化量が徐々に減っていく場合
変化の方向は増える方向で一定であるけれど、変化する量は徐々に減っていくような場合です。このような場合は、値が収束しないのであれば対数近似あるいは、累乗近似とします。
- 対数近似
y = c ln x + bをもとに近似曲線を作成します。
上記では対数近似で近似曲線を引いていますが、これを線形近似すると、未来の予測値が大きく外れていきそうですよね。このようにデータをプロットしてみて、大体の傾向を押さえてから近似曲線を選んで描くことが大切となります。
変化量が徐々に減っていって値が収束する場合は、「収束値+累乗近似」という方法で近似するとよいそうです。
まとめ
いかがですか?EXCELだと、気軽に近似曲線を描くことができるので便利ですよね。でも、逆に気楽に描けるために、よく考えずに描いてしまうこともあるかもしれません。目的やデータの特性に合わせた近似曲線を選んで、有効に活用したいですね。
▶ EXCELで自動処理をしたいなら以下の記事を参考にしてください。
コメント