はじめに
SciPyは、プログラミング数学、科学、工学のための数値解析ソフトウェアです。
例えば以下のようなサブモジュールが用意されています。
- 補間( scipy.interpolate)
- 数値積分:(scipy.integrate)
- 信号解析(scipy.signal)
- 画像処理(scipy.ndimage)
- 数理最適化(scipy.optimize)
本記事では、scipyを用いたデータの補間について紹介します。
1. データ補間の基礎コード
本記事で補間の対象とするデータは以下の例です。
データの補間にはscipy.interpolate.interp1dを用います。以下に例を示します。引数methodを指定しないとデフォルトの線形補間となります。
2. 補間方法の種類
用意されている方法は以下の表になっています。
kind | 内容 |
---|---|
linear | 線形補間(デフォルト) |
nearest | 直前の既知点のy軸の値を中間点に採用 |
zero | 0次スプライン補間 |
slinear | 1次スプライン補間 |
quadratic | 2次スプライン補間 |
cubic | 3次スプライン補間 |
previous | 直前の既知点のy軸の値を採用 |
next | 直後の既知点のy軸の値を採用 |
それでは、これらの補間方法で描画してみましょう。今回のデータでは2次のスプライン補間、3次のスプライン補間で滑らかにきれいに補間されているように思います。
ここで、nearest, previous, nextの3種類を比較してみましょう。直前、直後の既知点の値をとるかどうかで変わっているのがわかりますね。
次に、slinear、quadratic、cubicを比較してみましょう。2次スプライン補間と3次スプライン補間にはほとんど差がないのがわかりますね。
オススメ書籍
Pythonによるあたらしいデータ分析の教科書
Python3エンジニア認定データ分析試験の教科書にもなっている書籍で、データ分析に必要なPythonの基礎手法を身に付けることができます。具体的には、numpyとpandasを用いたデータの前処理、matplotlibを用いたデータのグラフ化、scikit-learnを用いた機械学習の基礎記述方法を身に付けることができます。これ一つで基礎はバッチリで、実務でも十分活用できると思います。個人的には見やすい書籍でした。
データサイエンス教本 Pythonで学ぶ統計分析・パターン認識・深層学習・信号処理・時系列データ分析
こちらの書籍は初心者から少し記述できるようになった人、かつ数学的な理論と一緒にPythonの記述方法を理解したい方にオススメです。統計分析、パターン認識、深層学習、信号処理、時系列データといった幅広く実務で使用する手法を学びたい方にもオススメです。
東京大学のデータサイエンティスト育成講座 ~Pythonで手を動かして学ぶデ―タ分析~
こちらの基礎を抑えながら実務で必要なPython記述法を学べる書籍です。基礎を一つ一つ抑えるというよりも実務で活用できるように必要な知識を身に付けられると感じました。これ一冊あれば十分かなと思いました。
スキル修得&転職
近年、DXの進展に伴うデジタル人材の需要の高まりに追いついていない状況が続いていると経済産業省がホームページで記載している通り、DX人材、IT人材が不足しているのが現状です。さらにコンピュータの性能向上やAI技術の発展により、よりDX人材、IT人材の需要が高まってきます。さらには、今後の長期間安定して職がある業種とも考えられます。
以下の求人では、IT業界の転職や、IT未経験だけどIT人材を志望する就活を支援してくれます。無料で会員登録もできるので、まずは登録だけでもして様子を見てみてはいかがでしょうか?
▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼▼
▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲▲
おわりに
本記事では、scipyを用いたデータの補間について紹介しました。計測データを処理する際によく使う手法ですので、マスターしておきましょう。また、データの性質や求めたい内容によって適宜どの手法を採用するか検討が必要があります。人体運動の歩行周期におけるデータ処理の際に使用する事例もあります。