アフィリエイト広告を利用しています

広告

posted by fanblog

2021年05月19日

Pythonでファイナンス分析の勉強(その6)

Seabornを使ってデータ相関を見てみる

scatter-lstat.png







Seabornとは

Seabornは、matplotlibを使ったデータをビジュアル化するライブラリだ。
matplotlibではできないようなグラフを簡単に作ることができる。
なので、データ解析の際にあたりを見る際に使うのに便利なライブラリだ。
今回はsklearnのデータセットを使って自分でもグラフ作成をやってみた。

ちなみにsklearnとはscikit-learnのことで、機械学習のライブラリである。
このライブラリにはサンプルのデータが含まれている。
今回使うのは、その中の1つのサンプルデータだ。

早速、講座の復習がてら、いろいろを試してみた。
bostonのデータをつかって、住宅価格のとの相関するデータを見つけてグラフを見てみた。

import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
import seaborn as sns

from sklearn.datasets import load_boston

#データの読み込み
bs = load_boston()


このbsのデータ型を調べるとsklearn.utils.Bunchというものらしい。
下記によると、dictionaryを拡張して、obj["member"], obj.member の両方でアクセスできるようにしたものらしい。

https://scikit-learn.org/stable/modules/generated/sklearn.utils.Bunch.html

データの中身を見てみよう。

bs.keys()
=> dict_keys(['data', 'target', 'feature_names', 'DESCR', 'filename'])


data :データ
target :予測対象(住宅価格)
feature_names:予測に用いられる変数(下記参照)
DESCR:データの説明
filename:ファイルパス

●feature_namesのそれぞれの要素の意味
 CRIM: 町別の一人当たりの犯罪率
 ZN: 25,000平方フィートを超える区画にゾーニングされた住宅用地の割合。
 INDUS: 町ごとの非小売業のエーカーの割合
 CHAS: チャールズ川のダミー変数(路が川に接している場合は1、それ以外の場合は0)
 NOX: 一酸化窒素濃度(1000万分の1)
 RM: 住居あたりの平均部屋数
 AGE: 1940年より前に建てられた持ち家の割合
 DIS: 5つのボストン雇用センターまでの加重距離
 RAD: 放射状高速道路へのアクセスの指標
 TAX: 全額固定資産税-10,000ドルあたりの税率
 PTRATIO: 町別の生徒と教師の比率
 B: 1000(Bk-0.63)^ 2ここで、Bkは町ごとの黒人の割合
 LSTAT: 人口の%低いステータス
 MEDV: 1000ドルの持ち家の中央値

住宅の価格に相関しそうな要素はどれだろうか?
少なくとも、部屋の数(RM)は住宅の価格に相関していそうだ。

data, target:予測対象(住宅価格)を入れたデータフレームを作成する。


#pandas dataframe生成
bsdf = pd.DataFrame(np.c_[bs['target'],bs['data']] ,columns= np.append('target',bs['feature_names']))


データ:
data-0522.PNG

Heatmap

まず、heatmapで相関があるものを見つける。

plt.figure(figsize=(10,10))
sns.heatmap(bsdf.corr(),annot=True)


結果:
heatmap0522-1.png


予想通りの左端列のtargetと"RM(0.7)", "LSTAT(-0.74)"が相関(逆相関)が強いのがわかる。

散布図


散布図のグラフも確認しておこう。scatterplotで表示させてみる。

sns.scatterplot(x='RM',y='target',data=bsdf)


結果:
scatter-rm.png


sns.scatterplot(x='LSTAT',y='target',data=bsdf)


結果:
scatter-lstat.png


なるほど、相関があるのが確認できた。

次はようやくファイナンシャルデータの分析に入る。


このコースへのリンク
Python & Machine Learning for Financial Analysis







全般ランキング


この記事へのコメント
コメントを書く

お名前: 必須項目

メールアドレス:


ホームページアドレス:

コメント: 必須項目

※ブログオーナーが承認したコメントのみ表示されます。

この記事へのトラックバックURL
https://fanblogs.jp/tb/10737949
※ブログオーナーが承認したトラックバックのみ表示されます。

この記事へのトラックバック
検索
<< 2021年12月 >>
      1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31  
最新記事
タグクラウド
カテゴリーアーカイブ
プロフィール
peter3qさんの画像
peter3q
エンジニアとして働いている40代の会社員です。 仕事でメインに使用している言語はC/C++です。 プライベートでは、大学生の息子と中学生の娘がいて、 週末、料理をし、毎年、梅シロップを付けています。
プロフィール
×

この広告は30日以上新しい記事の更新がないブログに表示されております。