主要内容

決定木のバギングによる格付け

この例では,自動信用格付けルの作成方法を示します。

信用リスク管理における基本的作業の1は,借り手を格付けすることです。“等級”を使用して,認識された弁済能力に応じて顧客を格付けします。等級が高いほど,信用リスクが低くなります。等級が近ければ,信用リスクのレベルも近いことになります。等級のカテゴリは,“格付け”と“与信スコア”の2です。格付けは少数の異なるクラスで構成され,通常は“AAA”“BB -”などのラベルが付けられます。与信スコアは,“640”や“720”などの数値で表された等級です。信用度の等級は,規制の枠組み(巴塞尔协议IIなど)における主要な要素の1つです(バーゼル銀行監督委員会(3.を参照してください)。

信用格付けを行うには,借り手に関する情報を分析する必要があります。借り手が個人である場合,対象となる情報はその個人の収入,未払い負債(住宅ローンやクレジットカードなど),世帯規模,住宅の状況などです。借り手が企業である場合,財務比率(売上高を総資産で割った値など)や業種を考慮するかもしれません。ここでは借り手に関するこのような情報を"特徴量"または"予測子"と呼びます。格付け機関が異なれば,使用される予測子も異なります。また,顧客を格付けするための格付けクラスやスコア範囲も異なることがあります。規模の大きい借り手市場に比較的少額のローンを提供する場合(たとえば,クレジットカード),与信スコアを使用するのが一般的であり,借り手を格付けするプロセスは通常は自動化されています。ローンが高額で,中小企業や大企業が利用できる場合,格付けを使用するのが一般的であり,自動化されたアルゴリズムと専門家の分析を組み合わせて格付けすることがあります。

格付機関の業務は,企業の信用度の追跡です。多くの銀行は顧客を格付けするための独自の方法論を開発しています。ある顧客を社内で格付けすることが必要になるのは,その顧客がまだ格付機関によって格付けされたことがなく,たとえ第三者による格付けがあったとしても,社内で格付けすることにより顧客のリスクプロフィールの評価が補える場合です。

この例では,格付けプロセスの自動化段階でmatlab®を活用する方法を説明します。特に、统计和机器学习工具箱™で容易に使用できる統計学習ツールの1つである,“バギングされた決定木”として知られる分類アルゴリズムを活用します。

この例では,履歴情報をデータセットの形で入手でき,各レコードには借り手の特徴量と割り当てられた格付けが含まれているものとします。この格付けは,施行済みの手順とポリシーに従う委員会によって割り当てられた社内格付けであることもあります。または,格付機関による格付けのこともあります。そのような格付けは,社内格付けシステムを新規に始動するために使用されます。

最初に必要となるのは既存の履歴デ,タです。このデ,タを使用して,格付けの自動化に使用するバギングされた決定木を“学習”させます。統計学習の語彙では,この学習プロセスは“教師あり学習”のカテゴリに属します。したがって,新規顧客の格付けには分類器が使用されます。実際問題としては,この自動化された格付け,つまり”予測された”格付けは暫定的なものと見なされる可能性が高く,専門家で構成される信用調査委員会が審査して始めて確定します。また,この例で使用する種類の分類器では,予測された格付けの確実性の尺度である“分類スコア”が表示されるため,格付けの見直しも簡単にできるようになります。

実際には,最初に行う必要があるのは分類器の学習であり,次にその分類器を使用して新規顧客を格付けし,最後に分類器の質つまり精度の“プロファ电子邮箱リング”または"評価"を行う必要もあります。このプロセスは"検証"または“バックテスト”とも呼ばれます。この例では,簡単に入手できるバックテスト ツールについても説明します。

既存の格付けデ,タの読み込み

コンマ区切りテキストファ@ @ルCreditRating_Historical.datから履歴デ,タを読み込みます。この例ではテキストファイルを操作しますが,数据库工具箱™にアクセスできる場合,この情報をデータベースから直接読み込めます。

デ,タセットには,企業顧客リストに名を連ねる顧客の財務比率,業種,および格付けが含まれます。このデ,タは,実際のデ,タではなくシミュレ,ションされたものです。1列目は顧客idです。続く5列は財務比率です。これらの比率はAltman的z-scoreで使用される比率と同じです(Altman [1]を参照。関連する分析にいては吕弗勒および波许[4も参照)。

  • 運転資本/総資産 (WC_TA

  • 内部留保/総資産 (RE_TA

  • 税引前利払前利益/総資産 (EBIT_TA

  • 株式時価総額/全債務の簿価(MVE_BVTD

  • 売上高/総資産 (S_TA

次は,112の範囲にある整数値で表されている業種ラベルです。最後の列には,顧客に割り当てられた格付けが格納されています。

デタを表格配列に読み込みます。

贷方=可读的(“CreditRating_Historical.dat”);

特徴量を行列Xに,対応するクラスである格付けをベクトルYにコピ,します。この情報には配列数据集または表格から直接アクセスできるので,この手順は必須ではありません。この例で手順を実行するのは,これ以降で繰り返されるいくかの関数呼び出しを単純化するためです。

行列Xに格納される特徴量は,財務比率5と業種ラベルです。行业は実際にはカテゴリカル変数の一種である“ノミナル”変数です。業種には順序は存在しないからです。これに対する応答変数,。ただし,こらは“序数”変数です。定義では,格付けは信用度の“ランキング”を示唆するからです。例では、この変数を"そのまま"使用して、分類器に学習させます。ここでは、この変数を"順序配列"にコピ,します。こうすることにより,格付けの順序どおりに出力されて読みやすくなるからです。格付けの順序は,Yの定義の3番目の引数として渡すcell配列によって確立されます。格付けは,数値にマッピングもできます。数値へのマッピングは,別のデ,タ解析方法(回帰など)を試すときに便利です。実際問題として,さまざまな方法を試すことをお勧めします。

X = [creditDS.]WC_TAcreditDS。RE_TAcreditDS。EBIT_TAcreditDS。MVE_BVTD...creditDS。S_TAcreditDS。行业]; Y = ordinal(creditDS.Rating);

予測子Xと応答変数Yを使用して,“バギングされた決定木”と呼ばれる特定の種類のアンサンブル分類を当てはめます。“バギング”は引导聚合を意味します。この方法論の本質は,データセットからのサブサンプリング,つまり”ブートストラップレプリカ”をいくつか生成することにあります。これらのサブサンプリングは無作為に生成されます。これは、データセット内の顧客リストに基づく復元抽出法です。レプリカごとに決定木が 1 つ成長します。各決定木は、独自に学習させた分類器であり、新規顧客の分類に単独で使用することができます。ただし、2 つのブートストラップ レプリカから成長した 2 本の木の予測は異なる可能性があります。このアンサンブルは、ブートストラップ レプリカすべてに対して成長した決定木すべての予測を "集約" します。木の大多数が,ある新規顧客について1つのクラスを予測した場合,その予測は単独の木による予測より確実であると考えるのは,道理にかなっています。さらに,少数の木が別のクラスを予測した場合,その情報も有益です。実際,別のクラスを予測する木の比率は,新規データの分類時にアンサンブル分類により報告される”分類スコア”の土台となります。

リバッガの作成

アンサンブル分類を作成する最初の手順は,個別の木に適したリフサズを見けることです。この例では,15および10というサescズを試します(TreeBaggerの詳細は、统计和机器学习工具箱のドキュメンテーションを参照してください)。最初は少数の25本の木から始めます。主要な目的が,さまざまなリ,フサ,ズでの分類誤差の初期トレンドを比較することだからです。再現可能性と公平な比較を確保するため,乱数発生器を再初期化します。これは、分類器を作成するたびに、データからの復元抽出法による標本抽出に使用されます。

Leaf = [1 5 10];nTrees = 25;rng (9876“旋风”);savedRng = rng;保存当前RNG设置颜色=“bgr”Ii = 1:长度(叶)重新初始化随机数生成器,以便%随机样本对于每个叶片大小都是相同的rng (savedRng)为每个叶片大小创建袋装决策树,并绘制袋外图%错误'oobError'b = TreeBagger(nTrees,X,Y,“OOBPrediction”“上”...“CategoricalPredictors”6...“MinLeafSize”、叶(ii));情节(oobError (b)、颜色(ii))结束包含(“已生长树木的数目”) ylabel (“包外分类错误”)({传奇' 1 '“5”“十”},“位置”“东北”)标题(“不同叶片大小的分类错误”)举行

これら3種類のリ:いて,。したがって,リ,フサ,ズ10にいて検討することにします。この方が無駄がなく,計算の効率性が高いからです。

デタを"学習用""検定用"のサブセットに分割する必要はなかったことに注意してください。これは、この手法の元となるサンプリング法において暗黙的であり、内部的に行われます。ブートストラップを反復するたびに、ブートストラップ レプリカが学習セットになります。除外された ("out-of-bag") 顧客がいれば、その顧客は前に報告された out-of-bag 分類誤差を評価するための検定ポイントとして使用されます。

次に,分類器の精度にとってあらゆる特徴量が重要なのかどうかを調べます。そのために,“特徴量の重要度”測定項目 (OOBPredictorImportance)を有効にし,最も重要な特徴を視覚的に見けるために結果をプロットします。次に,木の本数を増やしてみて,分類誤差を保存します。後でさらに比較するためです。

nTrees = 50;叶子= 10;rng (savedRng);b = TreeBagger(nTrees,X,Y,“OOBPredictorImportance”“上”...“CategoricalPredictors”6...“MinLeafSize”、叶);酒吧(b.OOBPermutedPredictorDeltaError)包含(的数字特征) ylabel (“外袋功能的重要性”)标题(“特征重要性结果”

oobErrorFullX = oobError(b);

特徴量24および6は,その他の特徴量とは一線を画しています。特徴量4は,株式時価総額/全債務の簿価(MVE_BVTD)ですが,このデ,タセットにとって最も重要な予測子です。この比率は,默顿のモデル[5]など,構造モデルにおける信用度の予測子に密接に関係しています。ここで,債務不履行確率を判断するため,企業の株式の値を未払い負債と比較します。

業種情報の特徴6行业)も,このデ,タセットに関して企業の信用度を評価する点で,その他の変数より相対的に重要です。

MVE_BVTDほどには重要ではありませんが,特徴2(内部留保/総資産 (RE_TA))もその他の特徴量とは一線を画しています。内部留保と企業の存続年数には,相関関係があります(一般に,存続年数が長ければ長いほど,蓄積できる内部留保は増えます)。そして,企業の存続年数は信用度と相関関係があります(歴史の長い企業ほど,困難な時期を乗り越えられる可能性は高くなります)。

予測子RE_TAMVE_BVTD,および行业のみを使用して,新しいアンサンブル分類を当てはめます。分類誤差と以前の分類器を比較します。この以前の分類器では特徴がすべて使用されます。

X = [creditDS.]RE_TAcreditDS。MVE_BVTDcreditDS。行业]; rng(savedRng) b = TreeBagger(nTrees,X,Y,“OOBPrediction”“上”...“CategoricalPredictors”3,...“MinLeafSize”、叶);oobErrorX246 = oobError(b);情节(oobErrorFullX“b”)举行情节(oobErrorX246“r”)包含(“已生长树木的数目”) ylabel (“包外分类错误”)({传奇的所有功能“特征2,4,6”},“位置”“东北”)标题(“不同预测因子集的分类错误”)举行

重要度が相対的に低い特徴(13.,および5)を除外しても分類精度は大きく低下しないので,予測には特徴を削減したアンサンブル分類を使用します。

この例では6個のみの特徴量で構成されるセットで開始し,変数のうち3つをスクリーニングで除外するための基準として分類器の特徴量重要度測定法とout-of-bag分類誤差を使用しました。予測子の初期セットに変数が多数含まれる場合,特徴の選択に時間がかかってしまう可能性があります。ここで使用したツール(変数重要度とout-of-bag誤差の”視覚的“比較)以外に,统计和机器学习工具箱で使用できる他の変数選択ツールもこの種の分析に役立つことがあります。ただし,結局のところ,特徴選択を成功させるには計量的分析手法に分析者の判断を加味することが必要になります。

たとえば,ここで使用した変数重要度測定法は,ある特徴の相対的な影響度を見積もるランク付けのしくみです。見積もるには,この特徴の値がランダムに置換された場合に分類器の予測精度がどの程度低下するのかを測定します。基本となる考え方は,問題の特徴が分類器の予測力にあまり貢献しないのであれば,値を変更(この場合は置換)して使用しても分類の結果は影響を受けないはずだ,というものです。一方,予測精度を低下させることなく関連情報をランダムに入れ替えることはできません。以上のことから,2の相関する特徴量が重要である場合,ンします。その場合,正確な分類にはこれらの特徴量の1つを維持すれば十分ですが,そのことはランク付けの結果だけからはわからないでしょう。相関性を個別にチェックするか,専門家の判断を加味しなければならないでしょう。まり,変数重要度やsequentialfsなどの手段は特徴選択に大いに貢献する可能性はあるものの,このプロセスで最も重要なのは分析者の判断だ,ということです。

この時点で、新規顧客を分類するために今後のセッション(负荷分类器)で読み込むためにこの分類器を保存(保存分类器。垫bなど)できます。効率性のため,学習プロセスが終了したらコンパクト版の分類器を保存しておくことをお勧めします。

B =紧凑(B);

新規デ,タの分類

以前に作成したアンサンブル分類を使用して新規顧客の信用を格付けします。既存顧客の格付けも定期的に見直す必要がある(特に,財務情報が実質的に更新されたとき)ので,データセットに見直し中の既存顧客のリストも含まれることがあります。新規デ,タの読み込みから始めます。

newDS = readtable(“CreditRating_NewCompanies.dat”);

この新規デ,タの格付けを予測するため,分類器に预测メソッドを呼び出します。このメソッドは,予測クラスと分類スコアという2の引数を返します。このどらの出力引数も必要なものです。分類スコアには予測された格付けの確実性に関する情報が含まれるからです。以前と同じように、変数RE_TAMVE_BVTD,および行业を行列Xにコピ,してもよいのですが,呼び出すのは预测だけなので,この手順を省略してnewDSを直接使用できます。

[predClass,classifScore] = predict(b,[newDS.]RE_TA newDS。MVE_BVTDnewDS.行业]);

この時点で,レポ,トを作成できます。この例では,説明のために最初の 3 件の顧客に関する小さいレポートのみを画面に表示しますが、MATLAB の展開ツールを使用すると、このワークフローを大幅に改善できます。たとえば、クレジット アナリストはこの分類をリモートで実行し、Web ブラウザーでレポートを確認することができます。MATLAB がデスクトップにインストールされている必要はありません。

I = 1:3 fprintf(“客户% d: \ n”newDS.ID(我));流(' RE/TA = %5.2f\n'newDS.RE_TA(我));流(' MVE/BVTD = %5.2f\n'newDS.MVE_BVTD(我));流(' Industry = %2d\n'newDS.Industry(我));流('预测评级:%s\n'我,predClass {});流(’分类分数:\n’);j = 1:length(b.ClassNames)如果(classifScore (i, j) > 0)流(' %s: %5.4f \n', b.ClassNames {j}, classifScore (i, j));结束结束结束
60644年客户:
Re / ta = 0.22
Mve / bvtd = 2.40
工业= 6
预测评级:AA
分类分数:
A: 0.2349 aa: 0.7519 aaa: 0.0011 BBB: 0.0121
33083年客户:
Re / ta = 0.24
Mve / bvtd = 1.51
工业= 4
预测等级:BBB
分类分数:
A: 0.1060 BBB: 0.8940
63830年客户:
Re / ta = 0.18
Mve / bvtd = 1.69
工业= 7
预测等级:A
分类分数:
A: 0.6305 aa: 0.0172 aaa: 0.0010 BBB: 0.3513

予測された格付けおよび対応するスコアのレコードを保持することは,分類器の質を定期的に評価する際に役立ちます。この情報を表格配列であるpredDSに保存できます。

classnames = b.ClassNames;predDS = [table(newDS.ID,predClass),array2table(classifScore)];predDS.Properties.VariableNames = [{“ID”},{“PredRating”},一会');

この情報は,たとえば次のコマンドを使用して,コンマ区切りテキストファesc escルPredictedRatings.datに保存することもできます。

writetable (predDS PredictedRatings.dat);

または,数据库工具箱を使用してデ,タベ,スに直接書き込むこともできます。

バックテスト:分類プロセスのプロファ化学键リング

格付けの質をプロファイリングつまり評価するプロセスを“検証”または”バックテスト”といいます。この作業には,関係する測定法と検定が数多くあります(たとえば,バ,ゼル銀行監督委員会[2を参照してください)。この例では,次の 2 つの問題に焦点を当てます。

  • 予測された格付けは実際の格付けと比較してどの程度正確なのでしょうか。ここでいう“予測された格付け”とは,自動化された分類プロセスで得られる格付けを指します。“実際の格付け”とは,信用調査委員会が割り当てる格付けを指します。信用調査委員会は,予測された格付けとその分類スコア,およびその他の情報(ニュースや経済状況など)を総合的に判断して最終的なランキングを決定します。

  • 実際の格付けは顧客を信用度に従ってどの程度正確にランク付けすることができるのでしょうか。これが行われるのは,事后(事後)分析(1年後など)においてです。これくらい時間が経過すれば,その期間中に債務不履行に陥った企業が明らかになるからです。

ファereplicationルCreditRating_ExPost.datには,前の節で検討した同じ企業に関する“追跡”デ,タが含まれます。このファイルには,委員会がそれらの企業に割り当てた実際の格付けおよび”債務不履行フラグ”が含まれます。債務不履行フラグとは,格付けから1年以内にその企業が債務不履行に陥った(1の場合)かそうでない(0の場合)かを示す指標です。

exPostDS = readtable(“CreditRating_ExPost.dat”);

予測された格付けと実際の格付けの比較

自動化された分類器に学習させる根拠は,信用調査委員会の作業を促進するためです。予測された格付けが正確であればあるほど,委員会が予測された格付けの見直しに費やさねばならない時間は短縮されます。したがって,予測された格付けが実際に割り当てられた最終格付けにどれほど近いのかを定期的にチェックすること,および食い違いが大きければ,自動化された分類器に再度学習させるよう勧めること(さらに,たとえば新機能の搭載)を委員会が希望するのは考えられることです。

予測された格付けと実際の格付けを比較するために使用できる最初のルは"混同行列"です。これは、统计和机器学习工具箱で容易に使用できます。

C = confusionchart(exPostDS.Rating,predDS.PredRating);sortClasses (C, {“AAA”“AA”“一个”“BBB”“BB”“B”“CCC”})

行は実際の格付けに,列は予測された格付けに対応します。混同行列内の位置(i, j)における値は,実際の格付けが,予測された格付けがjである顧客の人数を示します。たとえば,位置(2)は信用調査委員会が“一个”と格付けした顧客の数および自動化された分類器で“AA”と予測された顧客の数を示します。この行列は,パ,セントでも表現できます。真の格付けが同じである観測値の個数によって各値を正規化します。

C.Normalization =“row-normalized”

予測された格付けと実際の格付けが十分一致していれば,同じ行においてその他の値に影響を与える主対角要素の値は,理想的には1に近くなります。この場合,“B”には重要な不一致が実際に見られます。信用調査委員会が“B”と格付けした顧客の約半数は,自動化された分類器では“BB”と予測されたためです。一方,唯一の例外の“BBB”を除き,大半のケ,スで格付けの食い違いがせいぜい1段階でしかないのは良いことです。

混同行列を使用して,格付け機関による社内格付けと第三者の格付けを比較することもできます。これは実際によく行われます。

それぞれの特定の格付けにいて,予測された格付けと実際の格付けの一致度を別の尺度で計算できます。rocmetricsオブジェクトを使用して,“受信者動作特性(roc)曲線”を作成し,“曲線の下の領域(auc)”をチェックできます。rocmetricsは,実際の格付け(比較対象とする基準)と自動化されたプロセスによって算出された“BBB”分類スコアを取ります。

rocObj1 = rocmetrics(exPostDS.Rating,predDS.BBB,“BBB”);

rocmetricsの関数情节を使用して,格付け“BBB”のroc曲線をプロットします。

情节(rocObj1)

Rocの作成方法を説明します。自動化された分類器が顧客ごとに各格付け,特に“BBB”の分類スコアを返すことを思い出してください。このスコアは,この特定の顧客が“BBB”とランク付けされる可能性の高さを表すと解釈することができます。Roc曲線を作成するには,“分類しきい値”に変化をもたせる必要があります。分類しきい値とは,ある顧客を“BBB”と分類するための最小スコアのことです。まり,しきい値がtの場合,“BBB”スコアがt以上の場合のみ,その顧客を“BBB”に分類します。たとえば,“XYZ”社の“BBB”スコアが0.87だとします。“XYZ”社の実際の格付け(exPostDS。评级で示された情報)が“BBB”である場合,“XYZ”社は最高0.87までの任意のしきい値にいて正しく“BBB”と分類されることになります。これは"真陽性"であり,分類器のいわゆる"感度"が向上します。しきい値が0.87を超える場合,同社は“BBB”に格付けされず,"偽陰性"となります。説明を補足するため,“XYZ”社の実際の格付けが“BB”であるとしましょう.すると,0.87を超えるしきい値に対しては“BBB”として正しく却下され,"真陰性"となり,こうして分類器のいわゆる"特異性"が向上します.しかし,0.87までのしきい値に対しては"偽陽性"になります(実際には“BB”でも,“BBB”に分類されます)。Roc曲線を作成するには,しきい値が01の間を動くものとして,真陽性(感度)と偽陽性(1 -特異度)の比率の値をプロットしていきます。

Aucはその名前が示すとおり,roc曲線の下の領域です。AUCが1に近ければ近いほど,分類器の精度は高くなります(分類器が完全であれば,aucは1)。この例では,AUCは十分に高いようですが,どのレベルのAUCだと自動化された分類器を改良するよう勧告するのかを決定するのは信用調査委員会です。

実際の格付けと翌年の債務不履行件数の比較

格付けにおいて暗黙的な顧客のランキングを評価するために使用される一般的な指標は,“累積精度輪郭(CAP)”およびそれに関連する“精度率”です。基本的な考え方は,割り当てられた格付けと翌年に観測された債務不履行件数との関係を測定する,というものです。格付けのクラスが良いほど,債務不履行の件数は減少するものと思われます。どの格付けでも貸倒発生率が同じであれば,その格付けシステムは単純で役立たずの分類システムであり,顧客は信用度とは無関係にランダムに格付けされていることになります。

rocmetricsをcapの作成にも使用できることはすぐにわかるはずです。比較対象とする基準は,以前とは異なり格付けではなく,CreditRating_ExPost.datファ@ @ルから読み込んだ債務不履行フラグです。使用するスコアは”ダミースコア”で,これは格付けリストで暗黙的な信用度のランキングを示します。ダミ,スコアが満たすべき条件は,格が上がるほどダミ,スコアは下がる(“債務不履行フラグが1になる可能性は低い”という意味),および2つの顧客の格が同じであればダミースコアも同点になる,ということだけです。債務不履行確率は,もろんスコアとして渡せますが,ここでは債務不履行確率は不明です。実際のところ,“債務不履行確率の推定値がなくても,capを作成できます”。債務不履行確率を検証しているわけではないからです。この例でルを使用して評価しているのは,顧客をその信用度に従って“ランク付け”するときの格付けの精度です。

通常は,検討対象の格付けシステムの帽を”完全な格付けシステム”の帽と共にプロットします。後者は仮説上の格付けシステムであり,格が最低のクラスにはすべての不履行者が分類され,その他の顧客は最低クラスには入れられません。この完全な曲線の下の領域は,格付けシステムが達成し得るaucの最大値になります。慣例により”単純なシステム”の帽の下の面積を減算するためのさまざまな帽について,AUCが調整されます。“単純なシステム”の盖とは,顧客をランダムに格付けするシステムの盖のことです。単純なシステムのcapは,原点から座標(11)への直線であり,aucは0.5です。したがって,格付けシステムの“精度率”の定義は,調整済みACU(検討対象システムのAUCから単純なシステムのAUCを引いたもの)と最高精度(完全なシステムのACUから単純なシステムのAUCを引いたもの)の比率です。

ratingsList = {“AAA”“AA”“一个”“BBB”“BB”“B”“CCC”};Nratings =长度(ratingsList);= 1/(Nratings+1);dummyRank = linspace(dummyDelta,1-dummyDelta,Nratings)';D = exPostDS.Def_tplus1;fracTotDef = sum(D)/length(D);maxAcc = 0.5 - 0.5 * fracTotDef;R = double(ordinal(exPostDS.Rating,[],ratingsList));S = dummyRank(R);rocObj2 = rocmetrics(D,S,1); xVal = rocObj2.Metrics.FalsePositiveRate; yVal = rocObj2.Metrics.TruePositiveRate; auc = rocObj2.AUC; accRatio = (auc-0.5)/maxAcc; fprintf('实际评级的正确率:%5.3f\n', accRatio);
实际评级的准确率:0.850
xPerfect(1) = 0;xPerfect(2) = fracTotDef;xPerfect(3) = 1;yPerfect(1) = 0;yPerfect(2) = 1;yPerfect(3) = 1;xNaive(1) = 0;xNaive(2) = 1;yNaive(1) = 0;yNaive(2) = 1; plot(xPerfect,yPerfect,“——k”xVal yVal,“b”xNaive yNaive,“同意”)包含(“所有公司的一小部分”) ylabel (“违约公司的比例”)标题(“累积准确度档案”)({传奇“完美的”“实际”“天真的”},“位置”“东南”)文本(xVal (2) + 0.01, yVal -0.01 (2),“CCC”)文本(xVal (3) + 0.01, yVal -0.02 (3),“B”)文本(xVal (4) + 0.01, yVal -0.03 (4),“BB”

Capの情報を読み取るポaaplントは,“ねじれ”にあります。このねじれというレッテルは,格付け“CCC”“B”,および“BB”のプロットで貼られます。たとえば,2番目のねじれは 2 番目に低い格付け“B”に関連付けられており,(0.0970.714)にあります。これは、顧客の 9.7% が“B”,まり“比較的低い”とランク付けされ,観測された債務不履行件数の71.4%を占めることを意味します。

一般に,精度率は絶対的な測定値ではなく相対値として処理すべきです。たとえば,予測された格付けの CAP を同じプロットに追加し、精度率を計算して、実際の格付けの精度率と比較できます。

Rpred = double(ordinal(predDS.PredRating,[],ratingsList));Spred = dummyRank(Rpred);rocObj3 = rocmetrics(D,Spred,1);xValPred = rocObj3.Metrics.FalsePositiveRate;yValPred = rocObj3.Metrics.TruePositiveRate;aucPred = rocObj3.AUC;accRatioPred = (aucPred-0.5)/maxAcc;流('预测评级的准确率:%5.3f\n', accRatioPred);
预测评级的准确率:0.811
情节(xPerfect yPerfect,“——k”xVal yVal,“b”xNaive yNaive,“同意”...xValPred yValPred,“:r”)包含(“所有公司的一小部分”) ylabel (“违约公司的比例”)标题(“累积准确度档案”)({传奇“完美的”“实际”“天真的”“预测”},“位置”“东南”

予測された格付けの精度率は下がり,大半のケースでその帽は実際の格付けの帽を下回ります。これは当然のことです。実際の格付けは信用調査委員会が,予測された格付けだけでなく格付けの微調整にとって重要な追加情報も考慮して判断したものだからです。

おわりに

MATLABはバギングされた決定木以外にも多様な機械学習ツールを提供しており,それらも格付けに使用することができます。统计和机器学习工具箱には、判別分析や単純ベイズ分類器などの分類ツールが用意されています。MATLAB には、Deep Learning Toolbox™ もあります。さらに、Database Toolbox や MATLAB の展開ツールを使用すると、ここで説明したワークフローをより柔軟に独自の基本設定とニーズに合わせることができる可能性があります。

ここでは,債務不履行確率は計算されていません。格付けでは,格付け移動履歴に基づいて債務不履行確率を計算するのが一般的です。詳細にいては,金融工具箱™のtransprob(金融工具箱)リファレンスペ,ジを参照してください。

参考文献

[1]阿尔特曼,E。财务比率、判别分析与企业破产预测金融杂志.Vol。23,第4期(1968年9月),第589-609页。

[2]巴塞尔银行监管委员会。《内部评级系统有效性研究》国际清算银行(BIS),工作文件第14号,修订本,2005年5月。https://www.bis.org/publ/bcbs_wp14.htmで入手可能

[3]巴塞尔银行监管委员会。《资本计量和资本标准的国际趋同:修订框架》国际清算银行(BIS),综合版,2006年6月。https://www.bis.org/publ/bcbsca.htmで入手可能

[4] G.吕弗勒和P. N.波施。利用Excel和VBA建立信用风险模型.英格兰西萨塞克斯:威利金融,2007。

默顿,R。《论公司债务定价:利率的风险结构》金融杂志.Vol。29,第2期(1974年5月),第449-70页。