スポンサーサイト

上記の広告は1ヶ月以上更新のないブログに表示されています。
新しい記事を書く事で広告が消せます。

重回帰分析

前回は単回帰分析の内容とRでの実装方法を勉強したので、今日は重回帰分析を勉強したいと思います。

■ビジネスにおける適応例
重回帰分析では、複数の要因が結果に対して効いているのか、いないのかも判断できるので、モデルを作るだけではなく必要な要因は何なのか、それが結果に対してどのように関係しているのかを明らかにできる。そのため、ビジネスでも複数の要因を説明変数として売り上げに寄与している要因を調べるなどの使い方がされている。

■重回帰分析のおおまかな処理の流れ
①モデルの当てはまりの良さの確認
→自由度調整済み決定係数を確認(クロスセクションデータ:0.5以上、タイムシリーズデータ:0.7以上であれば当てはまりがよい)
※重回帰分析の場合、説明変数を増やせば、決定係数が高くなるという性質があります。そこで、重回帰分析のモデルの当てはまりの良さを図る指標としては自由度調整済み決定係数を使用します。
②各変数の統計的優位性の確認
→各変数のP値を確認(ここで算出されるP値は目的変数と各説明変数でt検定を実施し、「説明変数の影響力は0である」という帰無仮説が棄却される際の危険率)
③各変数の偏回帰係数を解釈
→符号条件が理論的におかしくないかを確認

このながれにそってRのairqualityをサンプルデータとして重回帰分析を実施。
オゾン濃度に対してどの変数が影響しているかを分析してみることにします。

■Rで重回帰
airqualityのデータの中身を確認してみる。
#データの読み込み
data(airquality)
head(airquality)

  Ozone Solar.R Wind Temp Month Day
1 41 190 7.4 67 5 1
2 36 118 8.0 72 5 2
3 12 149 12.6 74 5 3
4 18 313 11.5 62 5 4
5 NA NA 14.3 56 5 5
6 28 NA 14.9 66 5 6

早速、オゾンの量を目的変数、残りの太陽光、風、気温を説明変数にして重回帰のモデルを作成。どの説明変数の組み合わせを使用した際に一番制度の高いモデルが作れるのかわからないので、step関数を使用してステップワイズ法でAICが一番小さな値になるモデルを採用することにします。
#オゾン濃度を説明するモデルを作成する
#年月のデータを省いて分析
airq <- airquality[,1:4]
#重回帰分析のモデルを作成
airq.lm <- lm(Ozone~.,data=airq)
#ステップワイズ法でモデルを評価
step(airq.lm)

Start:  AIC=681.7
Ozone ~ Solar.R + Wind + Temp

Df Sum of Sq RSS AIC
<none> 48003 682
- Solar.R 1 2986 50989 686
- Wind 1 11642 59644 704
- Temp 1 19050 67053 717


Call:
lm(formula = Ozone ~ Solar.R + Wind + Temp, data = airq)

Coefficients:
(Intercept) Solar.R Wind Temp
-64.3421 0.0598 -3.3336 1.6521

今回は、すべての説明変数を使用した場合が一番AICが小さいモデルになるみたいですね。
では、ここから先ほどの「重回帰 
分析のおおまかな処理の流れ」に従ってモデルの評価、結果の確認をしたいと思います。
#基本等計量を確認
summary(airq.lm)


Call:
lm(formula = Ozone ~ ., data = airq)

Residuals:
Min 1Q Median 3Q Max
-40.48 -14.22 -3.55 10.10 95.62

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -64.3421 23.0547 -2.79 0.0062 **
Solar.R 0.0598 0.0232 2.58 0.0112 *
Wind -3.3336 0.6544 -5.09 1.5e-06 ***
Temp 1.6521 0.2535 6.52 2.4e-09 ***
---
Signif. codes: 0 '***' 0.001 '**' 0.01 '*' 0.05 '.' 0.1 ' ' 1

Residual standard error: 21.2 on 107 degrees of freedom
(42 observations deleted due to missingness)
Multiple R-squared: 0.606, Adjusted R-squared: 0.595
F-statistic: 54.8 on 3 and 107 DF, p-value: <2e-16

①モデルの当てはまりの良さの確認
自由度調整済み決定係数の値が0.595>0.5なので、当てはまりの良さ的には問題なさそうです。

②各変数の統計的優位性の確認
Wind、Tempについては、p値が非常に小さな値になっているので有効な変数みたいです。ただ、Solar.Rのp値が0.0112>0.005なので、この変数については、信頼度は薄そうです。とはいえ、ステップワイズ法でAICの確認もしているのでモデルとしてはSolar.Rを説明変数に入れておいた方が当てはまりのよいモデルになるようです。

③各変数の偏回帰係数を解釈
オゾン濃度には気温がプラスの影響を、風速がマイナスの影響を与えていることが分かりますね。


■参考
ビジネスデータ分析研究室
重回帰分析
Rと重回帰分析
http://www.aoni.waseda.jp/abek/document/regression-2.html
スポンサーサイト

判別分析

線形判別分析



■交差確認(Cross Validation)
交差確認はデータセットの標本全体をn等分に分割し、その内のn-1等分のデータセットを学習用、残りの1等分のデータセットをテスト用データとする。上記のデータセットを用いて、重複しない組み合わせでn回のモデル構築とテストを実施し、n回のテスト結果の平均を全体の評価とする方法。
データが少ない場合やモデルのロバスト性を確認する場合に使われる。学習データに偏りがある場合に作成されたモデルのロバスト性を担保できないので交差確認を使用してどのデータを使っても同程度の制度が出ることを確認することができる。


■参考
R言語による判別分析入門
とうごろういき

統計学の復習(擬似相関と層別解析)

■擬似相関と偏相関係数
擬似相関とは、変数Aと変数B、変数Aと変数Cの間に相関関係があるとき、実際には相関関係がないにも関わらず変数Bと変数Cの間にも相関関係が生じること。擬似相関が生じていると判断を誤ってしまうことがあるので注意が必要です。
擬似相関については、このサイトにいい例とRのコードが記載されてました。擬似相関、統計的消去について非常にわかりやすくかかれているので参考にしてください。
上記サイトの例では、変数Aと変数Bの残差、変数Aと変数Cの残差をそれぞれ算出して残差同士の相関を確認していますが、偏相関係数を使用すると統計的消去を行い、直接変数間の相関関係を算出することが出来ます。
上記サイトで使用しているデータをお借りして偏相関係数を算出。

#上記サイトで使用しているデータをお借りします。
data <- read.table("http://dl.dropboxusercontent.com/u/432512/20130708/SchoolChildrensMaths.txt", header = TRUE)
#偏相関係数を使用するため、ソースの読み込みを行う
source("http://aoki2.si.gunma-u.ac.jp/R/src/partial_cor.R", encoding="euc-jp")
#相関係数を算出
cor(data)
#偏相関係数を算出
partial.cor(data)

▼結果
> cor(data)

AMA YEARS HGT
AMA 1.0000000 0.9915810 0.9799811
YEARS 0.9915810 1.0000000 0.9889419
HGT 0.9799811 0.9889419 1.0000000

> partial.cor(data)

Var 1 Var 2 Var 3
Var 1 NA 0.7598976 -0.03306099
Var 2 0.75989764 NA 0.66762606
Var 3 -0.03306099 0.6676261 NA

普通に相関係数を算出した場合だとすべての変数間で非常に高い相関値が算出されているのに対して、偏相関係数を算出した場合は擬似相関を除いた相関値が出力されていることがわかります。

■層別解析
お次は層別解析。層別解析とは、データをグループ別に分けて解析すること。解析対象のデータに正確が異なるいくつかの部分集団を含んでいる場合全体では相関関係は現れないが、グループ別に分析すると相関関係が洗われることがあるため、データの相関関係をみる際にはあらかじめ注意して行う必要がある。
Rではby()関数を使用することで、層別解析を行うことが出来る。

#データの読み込み
data<-read.csv("http://fileman.rakurakuhp.net/UserFiles/40164/File/1199162168.csv")
#変数のアタッチ
attach(data)
#全データの要約統計量の算出
summary(data)
#性別ごとの要約統計量の算出
by(data, SEX, summary)

▼結果
> summary(data)
     SUBJID    SEX         AGE       ARMCD     WEIGHT         HEIGHT   
Min. :101 F:15 Min. :20.0 A:8 Min. : 8.0 Min. :146
1st Qu.:108 M:16 1st Qu.:27.5 B:8 1st Qu.:65.0 1st Qu.:158
Median :116 Median :35.0 C:8 Median :75.0 Median :167
Mean :116 Mean :35.0 D:7 Mean :69.9 Mean :169
3rd Qu.:124 3rd Qu.:42.5 3rd Qu.:78.0 3rd Qu.:178
Max. :131 Max. :50.0 Max. :98.0 Max. :198

> by(data, SEX, summary)
SEX: F
SUBJID SEX AGE ARMCD WEIGHT HEIGHT
Min. :102 F:15 Min. :21 A:0 Min. :58.0 Min. :146
1st Qu.:109 M: 0 1st Qu.:28 B:8 1st Qu.:70.5 1st Qu.:162
Median :116 Median :35 C:0 Median :76.0 Median :167
Mean :116 Mean :35 D:7 Mean :76.6 Mean :168
3rd Qu.:123 3rd Qu.:42 3rd Qu.:82.5 3rd Qu.:176
Max. :130 Max. :49 Max. :98.0 Max. :186
--------------------------------------------------------
SEX: M
SUBJID SEX AGE ARMCD WEIGHT HEIGHT
Min. :101 F: 0 Min. :20.0 A:8 Min. : 8.0 Min. :148
1st Qu.:108 M:16 1st Qu.:27.5 B:0 1st Qu.:55.5 1st Qu.:158
Median :116 Median :35.0 C:8 Median :67.0 Median :167
Mean :116 Mean :35.0 D:0 Mean :63.7 Mean :169
3rd Qu.:124 3rd Qu.:42.5 3rd Qu.:76.0 3rd Qu.:180
Max. :131 Max. :50.0 Max. :87.0 Max. :198


by()関数一発で、性別ごとの要約統計量を得ることが出来ました。これは便利!

■参考
偏相関係数
ほくそ笑む
学びing

統計学の復習(度数分布とヒストグラム)

久しぶりに統計学の教科書を開いたらいろいろと忘れていたので、一から復習をすることにします。
統計学の本をもとにRを使って実践しつつ基本をおさらいしていきます。

教科書はこの本。


■基本用語
ヒストグラム:度数分布表をもとに作成した柱状グラフ。調査や実験に使用するデータセットが手に入ったらまずは基礎統計量ヒストグラムを作成して全体のデータの分布状況を確認する。
階級値:階級を代表する値のこと。階級の上限値と下限値の中間値を階級値とするのが一般的
相対度数:全体の大きさを1とした時の各階級に属する観測値の個数の全体中での割合。正規かされた値なので、データの大きさが異なる複数のデータの分布の比較を行う時に有効。

■スタージェスの公式
度数分布表やヒストグラムを作成する時に注意するべき点は階級数階級幅の問題。特に階級数は多すぎても少なすぎても得られるヒストグラムから読み取れることを変わってきてしまうので、身長に階級数を決定する必要がある。階級数をどうやって決めるかはルール化されていないが、スタージェスの公式というものを使えばデータセットから最適な階級数を算出してくれる。

Rの標準のデータセット「airmiles」を使って最適な階級数を確認。
#データセットの設定
data(airmiles)
airmiles
#スタージェスの公式による階級数の確認
nclass.Sturges(airmiles)

▼結果
[1] 6

上記の結果から「airmiles」のデータセットだと、6刻みで階級数を決定するのがいいらしい。


■Rでのヒストグラムの作成方法
Rではヒストグラムの横幅はデフォルトでは スタージェスアルゴリズムによって決められるらしい。横幅を変更する場合は、breaks オプションに分割数、横幅のサイズまたはアルゴリズムを指定する。アルゴリズムを指定するとき、Sturges、Scott、FD、Freedman-Diacoins のを設定する。


#ヒストグラムの作成
hist(airmiles)

▼結果
histgram of airmiles

なるほど、ちゃんとスタージェスの公式で算出した通り6分割でヒストグラムが作成されているのがわかります。

■参考
バイオスタティスティクス
R tips
ほくそ笑む

BSC

今日はBSCについて。BSCがどういうものか、どうやって作っていくのかの概要をお勉強します。

BSC(Balanced Scorecard)は企業のもつ重要な要素が企業のビジョン・戦略にどのように影響し業績に現れているのかを可視化するための業績評価手法。

BSCには大きく以下の2つの側面がある。
1.戦略実行ツール
2.多面的な業績評価ツール


■BSCの特徴
下記4つの視点から多面的な指標の因果関係を確認し、バランスを取りながら目標を設定していくことで個々の領域の戦略が独立しないように最終的なビジョンの実現に向けて戦略を実施していく。因果関係の確認については、戦略マップを使っておこなう。
①財務の視点
②顧客の視点
③内部ビジネスプロセスの視点
④学習と成長の視点


■BSCの作り方
1.BSCの各視点に対するステークホルダーのマッピング
まずは、企業をとりまくステークホルダーをランダムにりストアップし、各ステークホルダーがBSCのどの視点に属するかをマッピングすることでステークホルダーの分類を行う。BSCの各視点をそのまま使うとわかりずらいのでそれぞれの視点をどんなステークホルダーがマッピングされるかに言い換えたのが以下。
●財務の視点           
⇒企業の外部の存在で財務指標お要求する利害関係者の視点
●顧客の視点           
⇒外部の存在で、商品やサービスなど付加価値を要求する利害関係者の視点
●内部ビジネスプロセスの視点 
⇒企業内部でビジネス上の連携を行って顧客へサービスを行う利害関係者の視点
●学習と成長の視点       
⇒記号内部の労働者や基盤的役割を担う利害関係者

2.ビジョンと戦略の策定
SWOT分析を行い自社のコアコンピタンスを見極め、ビジョンと戦略を策定する。

3.個別戦略テーマの設定
収益増強やコスト削減などの各テーマに対して個別に戦略を作成する。

4.戦略マップの作成
戦略マップは、階層状に配したBSCの4つの視点を示すエリアに各視点での取り組むべき個別戦略テーマ目標を置いて、互いに影響や関係のあるものを矢線で結び付けた図。個別戦略テーマ間の因果関係を可視化することで、全体として整合性のある戦略を構築・検討ができる。

5.KPIの設定
各戦略目標に対してKPIを設定する。KPIは戦略目標ごとに2~3個程度に設定し、組織全体で20~30程度が管理の限界。なので、KPIの名前通り業績向上のKeyとなる重要な指標を選定する。

■参考
戦略マップ
N's spirit 戦略マップとは BSCを用いたマネジメントツール

UMLの種類と使い方

今までシステム開発をやってくるも、体系的に設計の仕方について学んだことがない。業務知識を習得することも大切だが、業務知識からそれをどうやってシステム要件に落とし込むか、設計書に落とし込むかというところを体系的に学ぶ必要があると感じている今日この頃。ということで、UMLの勉強を始めたいと思います。

■UMLとは
まずは簡単にUMLについておさらい。
UML:Unified Modeling Lnaguageの略で、設計書の書式を統一する目的で規定された言語。UMLによる標準化はあくまで表記方法であって、開発手法の方法論ではない。
UMLでは、大きく以下の2種類のダイアグラムで構成されている。
1.構造に関するダイアグラム
2.動作に関するダイアグラム

■UMLのダイアグラムの種類
1.構造に関するダイアグラム
・クラス図(Class Diagram)
  クラス構造を表現します。
・オブジェクト図(Object Diagram)
  クラスをより具体化したオブジェクトで表現します。
・パッケージ図(Package Diagram)
  クラスなどをグループ化し整理された関係を表現します。
・コンポジット構造図(Composite Structure Diagram)
  クラスやコンポーネントの内部構造を表現します。
・コンポーネント図(Component Diagram)
  コンポーネントの内部構造ならびにコンポーネント間の依存関係を表現します。
・配置図(Deployment Diagram)
  システムの物理的な構成を表現します。

2.振る舞いに関する ダイアグラム
・ユースケース図(Use Case Diagram)
  ユーザなど外部からの要求に対するシステムの振る舞いを表現します。
・アクティビティ図(Activity Diagram)
  システムの実行における処理の流れや状態遷移を表現します。
・状態マシン図(State Machine Diagram)
  イベントにより引き起こされるオブジェクトの状態遷移を表現します。
・シーケンス図(Sequence Diagram)
  クラスやオブジェクト間の応答を時系列で表現します。
・コミュニケーション図(Communication Diagram)
  クラスやオブジェクト間の関連と応答を視覚的に表現します。
・相互作用概要図(Interaction Overview Diagram)
  相互作用図(ユースケース図やシーケンス図など)を構成要素として、より広域な処理の流れを表現します。
・タイミング図(Timing Diagram)
  クラスやオブジェクトの状態遷移を時系列で表現します。



■参考
構造にそって要件をUMLで具体的に定義する
スケッチ、設計図、プログラミング言語UMLの利用法を再確認する(第11回)

ファイナンス理論入門(1)

最近、金融の勉強をしだしてからコーポレートファイナンスの知識がなさすぎることを実感したので、「道具としてのファイナンス」よんで勉強することに。この本結構わかりやすいのでおすすめです!!


■ファイナンスの3つの役割
企業は株主から集めた資金をもとに投資を行い、利益を生み出し企業価値を高め、利益を株主に配当します。ファイナンス理論では、以下の3点がをいかに効率よく効果的に行うかが大きなポイントになります。
①投資先の決定
  調達した資金をどこに、いくら投資すべきかを決める
②資金の調達
  投資のための資金をどこから、どのように調達するかを決める
③配当政策
  株主に対して、資金をどのような携帯でいくら還元すべきかを決める

■将来価値と現在価値
次はお金の価値について。簡単にいうと、同じ金額でも明日のお金よりも今日のお金の方が価値がある!ということ。
例えば、現在手元に100万円あったとして年率3%の利回りの定期預金(今時損な高金利はないでしょうが)に預けた場合、1年後には103万円になる。これは、現時点からみた100万円の資産価値と1年後の103万円は等しいということ。このときの103万円を将来価値、逆に将来もらえる100万円の現在価値は約97.09万円ということになる。

X円を年利r% で運用したときのn年後の将来価値
将来価値=X×((1+r%)のn乗)

n年後に受け取るX円の割引率r%での現在価値
現在価値=X/((1+r%)のn乗)


■正味現在価値
次は、ファイナンスの3つの役割で上げた「①投資先の決定」について。企業でいろんなプロジェクトが立案される中で投資先のプロジェクトを判断する基準として正味現在価値(Net Present Value)(以下NPV)というものが使われる。
NPVは「そのプロジェクトに投資することによってどれだけ利益を得られるのかを表すもの」で、「NPV>0」であれば企業価値を高めるプロジェクト、「NPV<0」であれば採算がとれないため投資すべきでないプロジェクトということがいえる。
NPV=将来発生するキャッシュフローの現在価値の合計額-初期投資額

何となく、ファイナンス理論で扱っていることを確認出来たので今日はこのへんで。

■参考
債券:将来価値と現在価値
NPVとは何か?

レコメンデーション

今日はレコメンデーションについてお勉強。

■レコメンドアルゴリズムの種類
レコメンドアルゴリズムには大きく2種類の手法が存在する。

1.コンテンツベースフィルタリング
各アイテムのコンテンツを事前二属性化しておき、ユーザの好みとマッチングさせる。
コンテンツの内容が事前に整理されているのでユーザの好みに合致したアイテムが推奨されやすい。その反面、コンテンツの情報をすべて属性化する必要があるためオーバーヘッドがかかってしまいます。

2.協調フィルタリング
ユーザの行動に対して類似性の高いユーザが購入したアイテムをレコメンドする。協調フィルタリングには類似性の高いアイテムをレコメンドする「アイテムベースレコメンデーション」と類似性の高いユーザが購入したアイテムをレコメンドする「ユーザベースレコメンデーション」が存在する。
コンテンツの内容は関係なく、他のユーザとの類似性をベースにレコメンドを行うため全く興味のないコンテンツをレコメンドしてしまう可能性がある。
ちなみに、Amazonが行っているレコメンデーションは協調フィルタリングの「アイテムベースレコメンデーション」を採用しているそうです。「アイテムベースレコメンデーション」を使用することでお客さんが潜在的に必要としているであろう商品をレコメンドしてロングテール戦略を加速させているのですね。
一般的にはユーザベースよりもアイテムベースの方が計算処理量が少なく、高速とされています。 履歴データが膨大になると、アイテムベースとユーザベースではレコメンドの精度は差がなくなり、アイテムベースのほうがスケーラビリティがあるとされています。

ざっくりと図で表すとこんな感じ。
レコメンデーションアルゴリズムの種類

■手法による違い
1.ユーザベースとアイテムベース
ユーザベースはユーザに対してレコメンデーションを行うので、レコメンデーションを行おうとするとユーザの情報が必要になる。たとえば、ECサイトに会員登録しているユーザに対してはそのユーザにパーソナライズした商品のレコメンドが可能になるが、会員登録していないユーザに対してはレコメンデーションが出来ないという欠点がある。
一方、アイテムベースは会員登録していないユーザに対してレコメンデーションはできるものの、今閲覧している商品意外の情報を使うことが出来ないためパーソナライズしたレコメンデーションが出来ないという欠点がある。

2.協調フィルタリングとコンテンツベースレコメンデーション
コンテンツベースレコメンデーションはサービス開始時のアイテム情報が少ない期間に利用し、サービスが活性化し十分な履歴情報を蓄積できたら協調フィルタリングに変更するのが良さそう。

■まとめ
レコメンデーションのアルゴリズムにはコンテンツベースレコメンデーション、協調フィルタリング、アイテムベースレコメンデーション、ユーザベースレコメンデーションなど複数のアルゴリズムが存在しており、適用した事例によってどの手法が適しているかは違っており、複数のアルゴリズムを組み合わせて活用することで最適なレコメンデーションエンジンを構築することが出来る。
また、レコメンデーションエンジンは常に最新の履歴情報や商品情報、ユーザ情報をもとにアップデートされ最適なレコメンドが出来るように常に改良されていく必要がある。

■参考
レコメンドウェアハウス
30分でわかるレコメンデーションエンジンの作り方

カードローン

最近カードローンのテレビCMやたらとみる。CMをみるたびに誰がカードローンなんて借りるのだろうか?という疑問がわいてきたのでカードローンがどういうものか調べてみた。

■カードローンの事業会社
カードローンを行っているのは銀行系、信販系、消費者金融系の3つ。
1.銀行系
金利が低いことが特徴。 会社などの大口融資や個人でも住宅ローンなどがあり、大きな金額を借りる際には頼りになります。 勤めている会社の勤続年数や返済能力などが融資の際に重要視されます。

2.信販系
クレジットカードなどで買い物をしたり、小額であればキャッシングできたりするお手軽なキャッシング方法が特徴。 現金を持たずに買い物ができるので、使い過ぎていることに気付きにくいという欠点がある。

3.消費者金融系
金利が高めであることが特徴。 銀行系とは違って勤続年数が少なかったり、アルバイトであったりしても融資してくれる場合が多く、小額の融資が一般的です。 手軽に借りられる一方、高金利。


■キャッシングとの違い
カードローンは個人信用情報に基づき利用限度額が決められれば、その範囲内でATMなどから自由に借入可能。カードローンの返済はリボルビング式などの分割払いができ、ショッピング枠とは別枠なので利用限度額がキャッシングよりも高く利用限度額内で何度も繰り返し借入できるところが、キャッシングとの違いです。

■フリーローンとの違い
カードローンとフリーローンの決定的な違いは、カードローンは限度額の範囲内で枠が残っている場合は何度でも融資を受けることができるが、フリーローンは返済を続けて利用枠が出ても追加で融資を受けることができない。

■カードローンの利用率
ジャパンネット銀行の調査によると世帯年収1000万円以上でも3割が定期利用をしており(ジャパンネット銀行の顧客に対する調査)、カードローンが社会的に浸透し始めているように思える。しかも、カードローンの利用目的も「娯楽・交際費」など10万円未満の小額カードローンの利用となっており一時的な借り入れを行う方法としてカードローンを選択している。
自転車操業にならなければいいが、カードローンは借金なのであまり気軽に利用するものではないと個人的には思います。

■参考

「カードローン」と「フリーローン」の違いってなに?

銀行の収益源

今年になってNISAが始まったので、銀行ってどうやって収益をあげているのかという疑問がわいてきた。
そこで、銀行業の知識をつけるべく「金融マーケティング戦略」の本を読んで勉強。

■重要ワード
日本版ビッグバン:証券だけでなく銀行や保険、外国為替取引なども対象で、金融分野の規制緩和策を包括的に盛り込んだ日本の金融政策。


■銀行の3大業務
まずは、銀行の担っている業務から。
1.預金業務
⇒私たちが銀行に預けている預金を管理・保管してくれる業務ですね。
2.融資業務
⇒私たちが銀行に預けている預金を元手に企業や個人に融資をする業務です。
3.為替業務
⇒振込や送金で債権や債務の決済を行う業務です。公共料金の口座振替などがこの業務です。


■金融機関の収益源
では、銀行はどうやってもうけているのか?
1.利息
⇒銀行の中で一番大きな収益源となっているのが利息。預金を企業や個人に貸し出したときの利鞘で収益を上げる。

2.手数料
⇒預金で集めた資金を使わなくても入ってくる収入なので、どの銀行も非常に重要視している。
手数料収入(役務取引等利益等)に占める投資信託や年金保険の販売手数料の比率は10~20%程度で業務収益全体を下支えしている。特にクレジットカードは加盟店手数料から利益を得ている。

3.売買益
⇒国債など債券や株式を売買したときの売買益。

■金融機関の収益構造の変化
かつての金融機関は国からいろいろな規制をうけてきたこともあり、都銀、地銀、信用金庫など金融機関は扱う商品、サービスのサイズが違うだけで儲かるときも損をするときも一緒。顧客からみても金融機関はどこも一緒という状況が続いていた。この状況に日本版ビッグバンによる各種規制緩和や企業の資金調達が株式などからの直接金融へ変遷していくことで金融機関の収益がどんどん減少傾向へと向かうことに。。。
例えば、こんな感じで収益源が減少していきます。

【利息収益の減少】
・日本版ビッグバンなどの各種業務規制の緩和や金融自由化により企業の資金調達方法が、銀行借入れから、株式や社債の発行による方法に変化
⇒大企業・中堅企業の銀行離れが加速し、法人向け融資が急速に減少する⬇

・比較的高収益が機体出来る中小企業向け融資や個人ローンの重要性が高まる
⇒ペイオフや他業態運用商品の選択肢が増えることで個人市場での競争が激化し、個人の定期性預金は減少する⬇

【手数料の減少】
・他業態出の外貨両替の解禁
⇒高い収益を確保していた外国為替関係の手数料大幅に減収⬇
・コンビニなどでの公共料金の取り扱い
⇒口座振替手数料の急激な減収⬇

■収益改善のために取り組むべき施策
①大企業や中堅企業が銀行離れをしていくため、銀行経営のポイントは効率的な「リテール戦略」を実現。
②役務利益を上げるための銀行本体によるクレジットカード業務の本格的取引の開始。
③中小企業取引の新たな展開。

■参考
金融マーケティング戦略
金融大学−金融用語辞典ー

線形単回帰分析

今日は線形単回帰分析。

線形回帰分析:説明変数(x)を用いて目的変数(y)を説明する統計モデル(y=f(x))をデータから求める分析手法。
例えば、「車のスピード(x)」と「ブレーキをかけた後に止まるまでの距離(y)」の関係を数式(y=f(x))で表すことが出来る。この関係を数式で表すことにより、時速50kmで車が走ってきたときに約何mくらいで止まるのかという予測が出来るようになる。

■処理ステップ


線形回帰分析は大まかに下記の5ステップで実施。
1.説明変数と目的変数の相関関係を確認
2.回帰式の算出
3.回帰式の精度を確認
4.回帰係数の検定
5.信頼区間と予測区間の算出

で、線形回帰分析の概念自体は特に難しい話ではないので、実際にRに標準で用意されているデータセットcarsを使って線形回帰分析に挑戦。

1.説明変数と目的変数の相関関係を確認


無相関のデータに対して線形回帰をやっても意味がないので、「車のスピード(x)」と「ブレーキをかけた後に止まるまでの距離(y)」相関係数を算出。
cor(cars$speed, cars$dist)


▼cor(cars$speed, cars$dist)の結果
0.8068949

0.8なので、「車のスピード(x)」と「ブレーキをかけた後に止まるまでの距離(y)」の間には強い正の相関があることを確認。

2.回帰式の算出


cars.lm <- lm(dist~speed, data=cars)
summary(cars.lm)

lm()は線形回帰分析の関数で「dist~speed」は目的変数distを説明変数speedで説明することを表しています。「data = cars」は分析対象のデータセットはcarsであることを表しています。

▼summary(cars.lm)の結果
Call:
lm(formula = dist ~ speed, data = cars)

Residuals:
Min 1Q Median 3Q Max
-29.069 -9.525 -2.272 9.215 43.201

Coefficients:
Estimate Std. Error t value Pr(>|t|)
(Intercept) -17.5791 6.7584 -2.601 0.0123 *
speed 3.9324 0.4155 9.464 1.49e-12 ***
---
Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1

Residual standard error: 15.38 on 48 degrees of freedom
Multiple R-squared: 0.6511, Adjusted R-squared: 0.6438
F-statistic: 89.57 on 1 and 48 DF, p-value: 1.49e-12

「Residuals」は残差の最小値、第1四分位数、中央値、第3四分位数、最大値がそれぞれ表示されています。ちなみに、残差は回帰直線とデータとの誤差のこと。
t値とp値は係数が回帰モデルにやくだっているかどうかに関する統計量で、p値が大きいほどその係数が役にたっていないことを表している。いろいろと出てきているが一番知りたいのは作成した予測モデルがどれだけフィットしているか。で、それを表すのが決定係数、調整済み決定係数。これが1に近づくほどフィットしているとこを表します。
この回帰直線はy=3.9324x-17.5791のモデルで表現できるようです。

値だけでみててもよくわからんので、とりあえず散布図を作成。

plot(cars) # 散布図の作成
abline(cars.lm, lwd=2) # 回帰直線の作成

▼散布図と回帰直線
Rplot01.png
それらしい回帰直線が引かれている。

3.回帰式の精度を確認


残差を視覚的に分析するために、回帰診断図を表示する。
par(mfrow=c(2,2)) # 2x2のマトリックスで回帰診断図を表示
plot(cars.lm) # 回帰診断図を描画

▼回帰診断図
回帰診断図

よくわからない図が出現。。。図の見方を調べてみる。

■残差とフィット値のプロット(左上)
横軸が予測値、縦軸が残差をあらわしており、残差の全体像を外観するときに使用。

■残差の正規Q-Qプロット(右上)
データの正規性を確認するための図。Q-Qプロットはデータが正規分布に従うと点が直線上に並ぶ。回帰分析では、残差が標準正規分布に従うことを仮定しているため、Q-Qプロットを使用することで

■残差の平方根プロット(左下)
残差の変動状況を考察するための図。

■残差と影響力プロット(右下)
モデルの当てはまりへの影響力を測るための図。横軸は梃子値で、縦軸は標準化した残差。点線でクックの距離0.5を示している。クックの距離が0.5を超えると影響力あり、1を超えると特異に大きい。


■参考
分かって使う統計学 -相関と回帰分析-


多次元尺度構成法(MDS)

今日は多次元尺度構成法(Multi-Dimensional Scaling)のお勉強。

MDSは多次元データを2次元もしくは3次元上に可視化するための手法。


【処理ステップ】
●距離を求める。
●座標値を求める
●2~3次元上で個体を配置する(散布図を作成する)。
●信頼性について考察する

自己組織化マップ(SOM)

今日はSOMについて。

SOM(Self Organizing Map)はニューラルネットワークの一種で高次元データを2次元平面上に非線形射影する教師なしのデータ解析手法。非線形の主成分分析+クラスター分析みたいなものらしい。
このサイトの巡回セールスマン問題のデモが非常にわかりやすい。

多次元データをSOM解析することによって下記の結果を得ることが出来る。
● 多次元野データを2次元空間上にマッピング
● 似た特徴のデータは近い場所にマッピング
● 異なる特徴のデータは遠い場所にマッピング
● 視覚的に理解しやすい

【SOMの処理ステップ】
1.入力ベクトルと出力層のすべてのユニットを比較し、最も類似しているユニットを勝者ユニットとする
2.勝者ユニットとその近傍のユニットの重みベクトルを更新
3.すべての入力ベクトルに対して1〜2を繰り返す

【RでSOM】
では早速、RでSOMを使ってみる。


library(som)

# サンプルデータをロードします
rm(chooseData)
chooseData <- read.csv(file.choose())
val <- chooseData[, 1:9] # 数値データ
lab <- chooseData[, 10] # 分類(正解)
tag <- as.numeric(lab) # 正解データをプロットするための識別タグ

# 数値データを利用して10 X 10ピクセルの出力層を用意します
model <- som(val, xdim = 10, ydim = 10)

# 出力層をプロットします
lab.cod <- as.numeric(chooseData[,10])
plot(model)

# 実際のデータがどの座標にプロットされているかを表示させます
points(model$visual$x, model$visual$y, pch = tag, col = tag, cex = 2)
text(x=model$visual$x, y=model$visual$y, labels=lab)

# 重なりすぎてわからないので、ラベルだけをプロット
out.new <- model$visual[,1:2]
plot(out.new[,1:2], pch=unclass(lab))
text(x=model$visual$x, y=model$visual$y, labels=lab)




【応用】
実データでは、データ数が多くなってしまうため、計算時間やマップ上での表現が難しくなる。また、SOM自体は統計額をもとにして作られたアルゴリズムではないので、統計的な観点を取り入れた手法で様々な応用がされているらいいs。
プロセス解析,制御,検索システム,顧客セグメンテーション、経営のための情報分析などに応用されているらしい。

【参考】
子供でもわかる「自己組織化マップ」
Miyazawa’s Pukiwiki 公開版
Rで行うSOM解析
http://www.brain.kyutech.ac.jp/~furukawa/note/som/som.html#6
自己組織化マップ Self-Organizing Map(SOM) の学習メモ
プロフィール

HitTips

Author:HitTips
FC2ブログへようこそ!

最新記事
最新コメント
最新トラックバック
月別アーカイブ
カテゴリ
検索フォーム
RSSリンクの表示
リンク
ブロとも申請フォーム

この人とブロともになる

QRコード
QR
上記広告は1ヶ月以上更新のないブログに表示されています。新しい記事を書くことで広告を消せます。