主要内容

可视化数据的转换transprob

这个例子展示了如何可视化信用评级作为输入的转换transprob函数。还描述了如何的例子transprob函数对待评级转换公司数据分析的开始日期开始后,或者当结束日期后的分析观察到最后过渡。

样本数据

建立虚拟样本数据用于说明目的。

data = {“ABC”,”2015年- 2月17日,“AA”;“ABC”,6 - 7月- 2017 ',“一个”;“LMN”,的12 - 8月- 2014,“B”;“LMN”,“9 - 11月- 2015”,“CCC”;“LMN”,的7 - 9月- 2016,' D ';“XYZ”,“2013年5月- 14 -,“BB”;“XYZ”,截止2016年6月21日的,“BBB”};data = cell2table(数据、“VariableNames”,{“ID”,“日期”,“评级”});disp(数据)
身份证日期评级累积售予{' ABC '}{”2015年- 2月17日}{“AA”} {' ABC '}{的6 - 7月- 2017}{A} {‘LMN}{' 12 - 8月- 2014}{B} {‘LMN}{' 9 - 11月- 2015}{“CCC”} {‘LMN} {' 7 - 9 - 2016} {' D '} {“XYZ”} {' 14 - 5 - 2013} {“BB”} {“XYZ”}{截止2016年6月21日的}{BBB的}

transprob函数知道这个面板数据格式显示日期,当一个新的评级是分配给一个给定的公司。transprob假定这样的评级不变,除非后续行明确表明评级变化。例如,对于公司“ABC”,transprob明白的“一个”任何日期后评级不变6 - 7月- 2017 '(无限期)。

计算转移矩阵和过渡

transprob函数返回一个转移概率矩阵作为主要输出。也有可选的输出为多少转换包含额外的信息。有关更多信息,请参见transprob信息的可选的输出“队列”“持续时间”方法。

出于演示目的,这个示例允许您选择StartYear(限于2014年2015年在这个例子中)和EndYear(2016年2017年)。这个示例还使用hDisplayTransitions助手函数(参见本地函数部分)格式转换为便于阅读的信息。

StartYear =2014年;EndYear =2017年;startDate可以= datetime (StartYear, 12日31日“场所”,“en_US”);endDate = datetime (EndYear, 12日31日“场所”,“en_US”);RatingLabels = [“AAA”,“AA”,“一个”," BBB ",“BB”,“B”,“CCC”,“D”];[tm,圣]= transprob(数据,startDate可以的startDate可以,“endDate”endDate,“算法”,“队列”,“标签”,RatingLabels);

过渡的概率TransMat输出表明评级之间的迁移概率。表达的概率是%,乘以100。

(toyota hDisplayTransitions RatingLabels,“过渡矩阵”)
过渡矩阵AAA AA BBB BB B CCC D ___ __ ____ ____ __ _ ____ ____ AAA 100 0 0 0 0 0 0 0 AA 0 50 50 100 0 0 0 0 0 0 0 0 0 0 0 0 BBB 0 0 0 100 0 0 0 0 B BB 50 50 0 0 0 0 0 0 0 0 0 0 0 0 100 0 CCC 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 100 D

计数存储在的过渡sampleTotals可选的输出和显示多少转换发生在评级为整个样本(即所有的公司)。

hDisplayTransitions (st.totalsMat RatingLabels,“过渡方面,所有公司”)
过渡,所有公司AAA AA BBB BB B CCC D ___ __ _一幅_ _ _ AAA 0 0 0 0 0 0 0 0 AA 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 BBB 0 0 0 1 0 0 0 0 BB 0 0 0 1 1 0 0 0 0 0 0 0 0 0 1 0 B CCC 0 0 0 0 0 0 0 1 D 0 0 0 0 0 0 0 1

第三输出transprobidTotals包含的信息在一个ID级别转换,公司由公司(在同一个订单的公司出现在输入数据)。

选择一个公司来显示过渡计数和相应的可视化的转换。的hPlotTransitions助手函数(参见本地函数部分)显示了公司转型的历史。

CompanyID =“ABC”;UniqueIDs =独特(data.ID,“稳定”);[~,CompanyIndex] = ismember (CompanyID UniqueIDs);hDisplayTransitions(它(CompanyIndex) .totalsMat RatingLabels strcat (“过渡方面,公司ID:”,CompanyID))
过渡方面,ABC公司ID: AAA AA BBB BB B CCC D ___ __ _一幅_ _ _ AAA 0 0 0 0 0 0 0 0 AA 0 1 1 0 0 0 0 0 0 0 0 0 0 0 0 0 BBB 0 0 0 0 0 0 0 0 BB 0 0 0 0 0 0 0 0 B CCC 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 D 0 0 0 0 0 0 0 0
hPlotTransitions (CompanyID startDate可以,endDate、数据RatingLabels)

图包含一个轴。坐标轴标题公司ID: ABC包含6对象类型的楼梯,线。

了解transprob处理数据时,首次发现日期开始日期后的分析,或其最后观察日期结束日期前发生的分析,考虑下面的例子。为公司“ABC”假设分析的开始日期2014年- 12月31日和结束日期2017年- 12月31日。只有两个转换为本公司报道,分析时间窗口。第一个观察“ABC”发生在17 - 2月- 2015。因此,2015年- 12月31日快照是该公司第一次观察到。通过2016年- 12月31日,该公司仍然在原始“AA”评级。通过2017年- 12月31日降级,“一个”是记录。与此一致的是,过渡计数显示一个转变“AA”“AA”(从2015年底到2016年底),和一个转变“AA”“一个”(从2016年底到2017年底)。情节显示最后评级作为一条红色虚线强调最后一个评级数据外推未来无限期。没有外推到过去;公司历史上被忽略,直到公司评级闻名整个过渡时期(2015年- 12月31日通过2016年- 12月31日在的情况下“ABC”)。

计算转移矩阵包含NR(未评级)评级

考虑不同的样本数据只包含一个单一的公司“DEF”。公司的数据包含转换“DEF”“一个”NR的评级和随后的过渡NR的“BBB”

dataNR = {“DEF”,的17 - 3月- 2011,“一个”;“DEF”,“24 - 3月- 2014”,NR的;“DEF”,”26日- 9月- 2016,“BBB”};dataNR = cell2table (dataNR,“VariableNames”,{“ID”,“日期”,“评级”});disp (dataNR)
身份证日期评级累积售予{“DEF”}{的17 - 3月- 2011}{A} {“DEF”}{' 24 - 3月- 2014}{NR的}{“DEF”} {' 26 - 9 - 2016} {BBB的}

transprob对待NR的作为另一个评级。下面的转移矩阵显示了估计的过渡的可能性NR的

StartYearNR = 2010;EndYearNR = 2018;startDateNR = datetime (StartYearNR, 12日31日“场所”,“en_US”);endDateNR = datetime (EndYearNR, 12日31日“场所”,“en_US”);CompanyID_NR =“DEF”;RatingLabelsNR = [“AAA”,“AA”,“一个”," BBB ",“BB”,“B”,“CCC”,“D”,“NR”];[tmNR ~, itNR] = transprob (dataNR,startDate可以的startDateNR,“endDate”endDateNR,“算法”,“队列”,“标签”,RatingLabelsNR);hDisplayTransitions (tmNR RatingLabelsNR,“过渡矩阵”)
过渡矩阵AAA AA BBB BB B CCC D NR ______ AAA ____ ____ ______ ____ ____一幅中国画100 0 0 0 0 0 0 0 0 AA 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 66.667 33.333 BBB 100 0 0 0 0 0 0 0 0 0 0 0 0 100 BB 0 0 0 0 B 100 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 CCC 0 0 D 0 0 0 0 0 0 0 100 0 NR 0 0 0 0 0 0 0 50

显示转换的过渡项和相应的可视化。

hDisplayTransitions (itNR.totalsMat、RatingLabelsNR strcat (“过渡方面,公司ID:”,CompanyID_NR))
转型,公司ID: DEF AAA AA BBB BB B CCC D NR ___ _ _一幅_ _ _ _ AAA 0 0 0 0 0 0 0 0 0 AA 0 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 1 BBB 0 0 0 2 0 0 0 0 0 BB 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 B CCC 0 0 0 0 0 0 0 0 0 D 0 0 0 0 0 0 0 0 0 NR 0 0 0 1 0 0 0 0 1
hPlotTransitions (CompanyID_NR、startDateNR endDateNR、dataNR RatingLabelsNR)

图包含一个轴。坐标轴标题公司ID: DEF包含11个楼梯,类型的对象。

删除NR的从转移矩阵,使用“excludeLabels”名称中输入参数transprob。排除的列表标签可能是也可能不是指定的名称-值对的论点标签。例如,RatingLabelsRatingLabelsNR生成相同的输出transprob

[tmNR, stNR itNR] = transprob (dataNR,startDate可以的startDateNR,“endDate”endDateNR,“算法”,“队列”,“标签”RatingLabelsNR,“excludeLabels”,NR的);hDisplayTransitions (tmNR RatingLabels,“过渡矩阵”)
过渡矩阵AAA AA BBB BB B CCC AAA中国画一幅中国画D一幅中国画100 100 0 0 0 0 0 0 0 AA 0 0 0 0 0 0 0 0 0 100 100 0 0 0 0 0 BBB 0 0 0 0 0 0 0 0 0 0 0 100 BB 0 0 0 0 0 0 0 0 100 100 0 0 CCC 0 0 0 0 0 0 0 0 0 0 0 0 0 0 100 D

显示转换的过渡项和相应的可视化。

hDisplayTransitions (itNR.totalsMat、RatingLabels strcat (“过渡方面,公司ID:”,CompanyID_NR))
过渡方面,公司ID: DEF AAA AA BBB BB B CCC D ___ __ _一幅_ _ _ AAA 0 0 0 0 0 0 0 0 AA 0 0 0 0 0 0 0 0 0 0 2 0 0 0 0 0 BBB 0 0 0 2 0 0 0 0 BB 0 0 0 0 0 0 0 0 B CCC 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 D 0 0 0 0 0 0 0 0
hPlotTransitions (CompanyID_NR、startDateNR endDateNR、dataNR RatingLabels)

图包含一个轴。坐标轴标题公司ID: DEF包含11个楼梯,类型的对象。

符合之前的情节,计数仍然显示两种转换的过渡“一个”“一个”(从2012年底到2014年底),和两个过渡“BBB”“BBB”(从2017年底到2019年底)。

然而,不同于之前的情节,指定NR的使用“excludeLabels”名称-值的输入参数transprob删除任何的转换NR的评级。

本地函数

函数hDisplayTransitions (TransitionsData RatingLabels、标题)% Helper函数输出格式转换信息TransitionsAsTable = array2table (TransitionsData,“VariableNames”RatingLabels,“RowNames”,RatingLabels);流(“\ n % s \ n \ n”、标题)disp (TransitionsAsTable)结束函数hPlotTransitions (CompanyID startDate可以,endDate、数据RatingLabels)% Helper函数可视化评级之间的转换印第安纳州=字符串(data.ID) = = CompanyID;DatesOriginal = datetime (data.Date(印第安纳州),“场所”,“en_US”);RatingsOriginal =分类(data.Rating(印第安纳州),flipud (RatingLabels (:)), flipud (RatingLabels (:)));楼梯(DatesOriginal RatingsOriginal,“线宽”,2);%显示评级外推到未来91年(任意选择%天后endDate最后日期情节)endDateExtrap = endDate + 91;如果endDateExtrap > DatesOriginal(结束)DatesExtrap = [DatesOriginal(结束);endDateExtrap];RatingsExtrap = [RatingsOriginal(结束);RatingsOriginal(结束)];楼梯(DatesExtrap RatingsExtrap,“线宽”2,“线型”,“:”)结束持有;%添加行显示的快照日期% transprob使用1作为默认“snapsPerYear”,这里为了简单硬编码%调用cfdates生成相同的快照日期transprob用途snapsPerYear = 1;snapDates = cfdates (startDate-1 endDate snapsPerYear) ';yLimits = ylim;2 = 1:长度(snapDates)线([snapDates (ii) snapDates (ii)], yLimits,“颜色”,“米”)结束标题(strcat (“公司ID:”,CompanyID))结束