うん?Pandasって何?という方は、以下の記事をご覧ください。
Pandasとは?
Pythonは、ほんとうに色々な事ができるプログラミング言語です。
それゆえ、学習する目標をちゃんと定めていないと必要のない知識を学んで時間を無駄にしてしまう、ということが良くあります。
何を隠そうジェイがその一人でした。
そんな苦い経験をしたジェイが上の質問に答えるならばー
Pandasの次に学ぶこと
NuymPyを学べ
これがベストな答えです!
うん?NumPyって何?という方は、以下の記事をご覧ください。
NumPyとは?
この記事を読んでわかること
わかること
- プログラミングの効率的な学習方法
- NumPyを使った計算例:アマゾンの株価予測
- NumPyのキホンを2時間で学ぶUdemyコース
この記事の対象となる人
対象者
- Pythonを使ったデータ分析に興味のある人
- Pandasのキホンを一通り学んだ人
- Pandasの次に何を学べば良いかわからない人
結論からいいます
- NumPyはPythonの分析のさいに必ず使うモジュール
- NumPyを使えば複雑な計算を高速で処理することができる
- NumPyを学ぶなら『Udemy』のコースがおすすめ
なぜPandasの次に『NumPy』を学ぶ必要があるの?
ここ数年ですかね、『機械学習』という言葉をよく耳にするようになりました。
機械学習は、常に複雑な計算の処理が求められます。
その計算を効率的かつ高速に行ってくれるのが『NumPy』です。
よって、NumPyの知識とスキルは、Pythonの分析では絶対に必要なのです。
NumPyとは
複雑な計算を効率的かつ高速で行ってくれる拡張モジュール
実際にNumPyを使った分析をみせてよ
論より証拠。NumPyを使った分析の一例をお見せしますね。
今回はモンテカルロ・シミュレーションという方法で、これから1年後のアマゾン(AMZN)の株価がどのようなトレンドを描くのか?をPythonで分析してみます。
モンテカルロ・シミュレーションでこれから1年間のアマゾン(AMZN)の株価を予測してみよう!
#必要なライブラリをインポート import pandas as pd import numpy as np import matplotlib.pyplot as plt %matplotlib inline import yfinance import datetime from scipy.stats import norm import statsmodels.api as sm #Yahoo!financeからアマゾンの価格データを取ってくる df = yfinance.download('AMZN',start='2020-11-01',end=datetime.date.today(),auto_adjust=True, interval='1d') #終値のログリターンを計算 log_return = np.log(1 + df['Close'].pct_change()) #モンテカルロシミュレーションで必要な項目をそれぞれ計算 μ= log_return.mean() var = log_return.var() stdv = log_return.std() drift = μ - 0.5 *var daily_return = np.exp(drift + stdv * norm.ppf(np.random.rand(interval,iterations))) #予測期間を今日から1年間(252日)/ 予測シナリオは5つ interval = 252 iterations = 5 #NumPyでデータの編集 price0 = df['Close'].iloc[-1] price0 price_list = np.zeros_like(daily_return) price_list[0] = price0 for t in range(1,interval): price_list[t] = price_list[t-1] * daily_return[t] #Pandasでデータの型をNumPyアレイからデータフレームに転換 forecast_price = pd.DataFrame(price_list) #カラム名を付ける forecast_price.columns = ['Scenario1', 'Scenario2', 'Scenario3', 'Scenario4','Scenario5'] #チャート化 forecast_price.plot(figsize = (15,8),lw=3,fontsize=20); plt.legend(loc = 'best',fontsize=20)
長々とコードを書きましたが、モンテカルロ・シミュレーションで今後1年間のアマゾン(AMZN)の株価予測を行った結果が以下となります。
予測の結果
まぁ、どれも上昇トレンドとなっていますが、一番上昇するシナリオは『5』ですね。なんと、一時は6,000ドルまで上昇する局面がある、との予測です。まぁ、予測はあくまでも予測ですが...
複雑な計算では『NumPy』が必要
では、上のコードでNumPyが使われた箇所をピックアップしてみましょう。
log_return = np.log(1 + df['Close'].pct_change()) daily_return = np.exp(drift + stdv * norm.ppf(np.random.rand(interval,iterations))) price_list = np.zeros_like(daily_return)
上のコードはどれもイコールの後が『np.○○』となっています。『np』はNumPyを省略した表現です。
なのでー
- log_return(ログリターン)
- daily_return(デイリーリターン)
上のリターンは、すべて『NumPy』を使って計算されています。
また、一番最後の『price_list = np.zeros_like(daily_return)』は、簡単に言えば『ゼロの配列を作ってください』という意味のコードです。
こうすることで、のちのデータフレームの作成をスムーズに行うことができるのです。
まぁ、難しい話はさておき...
上のコードで共通していることはー
共通していること
Pythonでの計算にはNumPyが必要不可欠
ということです。
NumPyを効率よく学ぶ方法は?
プログラミング学習を経験したことのない人や経験の浅い人なら有利子さんの悩みは当然のことです。
結論からいいます。
その悩みを解決するベストな方法はー
ベストな学習の方法
動画で学ぶこと
です。
なぜか?
その理由は2つあります。
動画で学ぶ理由
- 目と耳の両方で学ぶのでとても効率がいい
- わからないところは何度でも簡単に見直せる
動画で学ぶ最大のメリットはなんといっても『効率のよさ』にあります。
『目』と『耳』の両方を使って学ぶので、『目』だけで学習するよりも記憶の定着が早いのです。
そして動画なので、わからないところは何度でも簡単に見直すことができます。
これってとても重要なことなんです。
なぜなら、プログラミングの学習はエラーとの闘いだからです。
エラーが出る度に色々と調べる必要があります。その度に貴重な時間を使ってしまいます。ときには浪費してしまいます。
しかし動画ならば、『わからないな...』と思う箇所があれば、その場で簡単に見直すことができるのです。
その場ですぐに見直すことができればー
学習の効率が格段に上がる
ということは、プログラミングを学習した経験のある人なら誰もが痛感していることです。
動画で学ぶなら『Udemy』一択しかない
結論から言います。
動画で学ぶなら
オンライン動画で学べるUdemy
です。
プログラミング学習の初心者が、動画を使って学ぶならば『Udemy』一択だとジェイは考えています。
その理由は『4つのメリット』にあります。
4つのメリット
- オンラインなので、どこでもいつでも好きな時に学ぶことができる
- コースは買い切りなので、一度買えば永久に使える
- セールを狙えば、何万円もするコースが1,000円から2,000円でコースが買える
- 30日以内に返品すれば支払ったお金が返ってくる
何万円もする良質なコースが、セールを狙えば2,000円以下で受講できる。
しかも30日間の返品保障付きで!
こんなにメリットがあるならUdemyを利用しない方がおかしいでしょ?!とジェイは思います。
たしかにそうです。
しかし、UdemyとYouTubeでは決定的に違うことがあります。それはー
YouTubeと決定的に違うこと
Udemyはわからないことについて丁寧に答えてくれる
ことです。
YouTubeにはコメント機能があります。しかし、あくまでもコメントを書く箇所であって『質問を書く箇所』ではありません。
なので、上で述べた『エラーとの闘いで時間を無駄にしなくてすむ』ということが、YouTubeでは難しいのです。
一方、Udemyには-
ここ重要です!
『Q&A』コーナー
があります。
このコーナーでは、あなたが疑問に思っていることや、どうしても解決できない問題について自由に制限なく質問することができます。
また、コースを受講した他の人の質問も読むことができます。
なので、あなたがわざわざ質問をしなくてもー
ここも重要です!
『Q&A』コーナーを見るだけで問題が速攻で解決!
というケースがよくあります。
さらにはー
ここも重要です!
コースを開設した講師に直接メールで質問をする
ことだってできるのです!
当然、講師の方は実績があり、かつ教えるのが上手い方達なので、こちらが必要としている答えについて的確に返答してくれます。
たったの2時間でNumPyのキホンを学べるコースはこれだ!
じゃぁ、これからNumPyを学ぼうとする私に一番合ったコースって何ですか?
結論からいいます。
これからNumPyを学ぼうとする人にとって一番合ったおすすめコースはー
一番合うコースとは?
数時間でキホンが学べるコース
です。
特に、プログラミングのキホンを学ぶならば、短期で学べる構成になっているコースを受講するのが良いでしょう。
これからNumPyを学ぼうと考えている人にジェイは以下のコースをおすすめしています。
【世界で18万人が受講】実践 Python データサイエンス
ここに注目!
上の画像(右上)を見てください。本来『12,600円』するこのコースが... なんと88%オフの『1,560円』で買えます。
このようにUdemyは、月に何回か"大バーゲンセール" を実施しています。
上でも書きましたが、"大バーゲンセール" はUdemyをおすすめする理由の一つです!
このコースは、Pandasを学習するおすすめのコースとしても紹介しました。
-
関連記事【Udemy】このコースならデータ分析に必要なPandasの知識を半日で学べます!
続きを見る
なぜか?その理由はー
このコースをすすめる理由
NumPyとPandasを一気に効率よく学ぶことができる
からです。
では、次にコースの特徴についてみてみましょう。
コースの特徴
まずは、このコースの特徴を見てみましょう。
コースの特徴
- 全14セクションで構成
- Pythonを使ったデータ分析のキホンが学べる
- トータルで17時間24分のボリューム
このコースは、14セクションで構成されています。
NumPyは『セクション3』にあります。
学習する時間は、トータルでたったの『1時間ちょっと』です。
エラーでつまずいても、『2時間あれば』余裕で終わる内容です。
そしてこのコースのNumPyセクションで最も注目して欲しい特徴はー
NumPyセクションの特徴
『配列』の計算や処理に集中している
ことです。
配列のことを『アレイ(array)』といいます。そしてNumPyで作成された配列を『NumPyアレイ』といいます。
NumPyはアレイは、機械学習で本当によく使われます。
このため『【世界で18万人が受講】実践 Python データサイエンス』でNumPyを学んでおけば、後々まで役に立ちます。
PandasとNumPyが効率的に学ぶことができるこのコースは、Pythonでマーケットの分析をしたいと思う人にとって最適のコースです。
このことは、実際に受講したジェイが身をもって経験しています。
だからこそ、これからNumPyを学んでみたい!という人にもおすすめしているのです。
今回のまとめ
まとめ
- Pandasの次に学ぶのは『NumPy』
- Pythonでの複雑な計算はNumPyを使う
- NumPyを学ぶなら『Udemy』
- NumPyのキホンを学ぶおすすめのコースについて
みなさん、たったの『2時間』です!
スマホゲームやYouTubeを少しガマンすれば終わる内容です!
ぜひ挑戦しみてください!