Этот пример показывает рабочий процесс для оценки окончательных требований с помощью developmentTriangle объект с симулированными требованиями, о которых сообщают, и затем вычислением соответствующей среднеквадратичной погрешности предсказания (MSEP).
Актуарии используют различные методы, чтобы оценивать окончательные требования в течение различных лет. В дополнение к значениям требования актуарий должен знать, как хорошо оценки предсказывают результаты случайных переменных и неопределенности в оценках для окончательных требований. Чтобы измерить качество предполагаемых окончательных требований, можно вычислить MSEP.
load('InsuranceClaimsData.mat');
disp(head(data)); OriginYear DevelopmentYear ReportedClaims PaidClaims
__________ _______________ ______________ __________
2010 12 3995.7 1893.9
2010 24 4635 3371.2
2010 36 4866.8 4079.1
2010 48 4964.1 4487
2010 60 5013.7 4711.4
2010 72 5038.8 4805.6
2010 84 5059 4853.7
2010 96 5074.1 4877.9
developmentTriangle Создайте developmentTriangle объект и использование claimsPlot визуализировать developmentTriangle. Для получения дополнительной информации о неоплаченной оценке требований см. Обзор Методов оценки Требований для Non-Life Insurance
dTriangle = developmentTriangle(data,'Origin','OriginYear','Development','DevelopmentYear','Claims','ReportedClaims'); dTriangleTable = view(dTriangle); % Visualize the development triangle claimsPlot(dTriangle);

developmentTriangleИспользуйте linkRatios вычислить факторы от возраста к возрасту.
factorsTable = linkRatios(dTriangle);
Используйте linkRatioAverages вычислить средние значения факторов от возраста к возрасту.
averageFactorsTable = linkRatioAverages(dTriangle);
dTriangle.SelectedLinkRatio = averageFactorsTable{'Volume-weighted Average',:};
dTriangle.TailFactor = 1;
selectedFactorsTable = cdfSummary(dTriangle);Отобразите полный треугольник разработки использование fullTriangle функция.
fullTriangleTable = fullTriangle(dTriangle); disp(fullTriangleTable);
12 24 36 48 60 72 84 96 108 120 Ultimate
______ ______ ______ ______ ______ ______ ______ ______ ______ ______ ________
2010 3995.7 4635 4866.8 4964.1 5013.7 5038.8 5059 5074.1 5084.3 5089.4 5089.4
2011 3968 4682.3 4963.2 5062.5 5113.1 5138.7 5154.1 5169.6 5179.9 5185.1 5185.1
2012 4217 5060.4 5364 5508.9 5558.4 5586.2 5608.6 5625.4 5636.7 5642.3 5642.3
2013 4374.2 5205.3 5517.7 5661.1 5740.4 5780.6 5803.7 5821.1 5832.7 5838.6 5838.6
2014 4499.7 5309.6 5628.2 5785.8 5849.4 5878.7 5900.8 5918.5 5930.3 5936.3 5936.3
2015 4530.2 5300.4 5565.4 5715.7 5772.8 5804.1 5825.9 5843.4 5855.1 5861 5861
2016 4572.6 5304.2 5569.5 5714.3 5775.4 5806.7 5828.6 5846.1 5857.7 5863.6 5863.6
2017 4680.6 5523.1 5854.4 6000.9 6065.1 6098 6120.9 6139.3 6151.6 6157.7 6157.7
2018 4696.7 5495.1 5804.4 5949.6 6013.3 6045.9 6068.6 6086.8 6099 6105.1 6105.1
2019 4945.9 5819.2 6146.7 6300.5 6367.9 6402.4 6426.5 6445.8 6458.7 6465.2 6465.2
Вычислите общие резервы с помощью ultimateClaims.
IBNR = ultimateClaims(dTriangle) - dTriangle.LatestDiagonal; IBNR = array2table(IBNR, 'RowNames', dTriangleTable.Properties.RowNames, 'VariableNames', {'IBNR'}); IBNR{'Total',1} = sum(IBNR{:,:}); disp(IBNR);
IBNR
______
2010 0
2011 5.1857
2012 16.89
2013 34.886
2014 57.583
2015 88.148
2016 149.34
2017 303.29
2018 609.99
2019 1519.3
Total 2784.6
developmentTriange соединитесь отношения оцениваются с помощью формулы:
Вперед, с отношениями ссылки, параметры отклонения оцениваются как:
Начиная с последнего параметра отклонения не может быть оценен со средством оценки , метод экстраполяции Мэка используется к оценке :
Используя эту формулу, можно вычислить предполагаемые условные стандартные отклонения процесса.
currentSelectedFactors = dTriangle.SelectedLinkRatio; estimatedStandardDeviations = currentSelectedFactors; for i=1:width(estimatedStandardDeviations)-1 estimatedStandardDeviations(1,i) = sqrt(sum(((factorsTable{1:end-i,i} - currentSelectedFactors(:,i)).^2).*dTriangleTable{1:end-i,i}) / (height(dTriangleTable)-i-1)); end estimatedStandardDeviations(1,end) = sqrt(min([estimatedStandardDeviations(1,end-1)^4 / estimatedStandardDeviations(1,end-2)^2, estimatedStandardDeviations(1,end-2)^2, estimatedStandardDeviations(1,end-1)^2]));
Используя последний developmentTriange диагональная информация и спроектированные окончательные требования от developmentTriangle объект, ReservesTable вычисляется.
h = height(dTriangleTable);
ReservesTable = array2table(NaN(h, 9));
ReservesTable.Properties.RowNames = dTriangleTable.Properties.RowNames;
ReservesTable.Properties.VariableNames = {'Latest Diagonal','Projected Ultimate Claims','Reserves','Estimated conditional process standard deviation','Estimated conditional variational coefficient','Conditional Var_hat','variation for Var_hat','MSEP','MSEP Uncertainty'};
ReservesTable.("Latest Diagonal") = dTriangle.LatestDiagonal;
ReservesTable.("Projected Ultimate Claims") = ultimateClaims(dTriangle);
ReservesTable.("Reserves") = IBNR.IBNR(1:end-1,:);Оцените условное отклонение процесса для окончательного требования одного года несчастного случая как:
и оцените условное отклонение процесса в течение агрегированных лет несчастного случая как:
Вычислите предполагаемый условный вариационный коэффициент на год источника относительно предполагаемых резервов как:
summationFactors = zeros(1,h); for i=length(summationFactors)-1:-1:1 summationFactors(i) = (estimatedStandardDeviations(1,i)^2 / currentSelectedFactors(1,i)^2) / dTriangle.LatestDiagonal(h-i+1) + summationFactors(i+1); end summationFactors = fliplr(summationFactors)'; ReservesTable.("Estimated conditional process standard deviation") = sqrt(ReservesTable.("Projected Ultimate Claims").^2 .* summationFactors); ReservesTable.("Estimated conditional variational coefficient") = ReservesTable.("Estimated conditional process standard deviation") ./ ReservesTable.("Reserves") * 100; ReservesTable('Total',:) = array2table([NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN, NaN]); ReservesTable{"Total","Reserves"} = sum(ReservesTable.("Reserves")(1:end-1)); ReservesTable{"Total","Estimated conditional process standard deviation"} = sqrt(sum(ReservesTable.("Estimated conditional process standard deviation")(1:end-1).^2)); ReservesTable{"Total","Estimated conditional variational coefficient"} = ReservesTable{"Total","Estimated conditional process standard deviation"} / ReservesTable{"Total","Reserves"} * 100; disp(ReservesTable(:,(2:5)));
Projected Ultimate Claims Reserves Estimated conditional process standard deviation Estimated conditional variational coefficient
_________________________ ________ ________________________________________________ _____________________________________________
2010 5089.4 0 0 NaN
2011 5185.1 5.1857 0.0072309 0.13944
2012 5642.3 16.89 0.011214 0.066397
2013 5838.6 34.886 0.014452 0.041426
2014 5936.3 57.583 2.7832 4.8333
2015 5861 88.148 5.8489 6.6353
2016 5863.6 149.34 11.634 7.7906
2017 6157.7 303.29 22.586 7.4472
2018 6105.1 609.99 36.512 5.9856
2019 6465.2 1519.3 77.982 5.1329
Total NaN 2784.6 90.01 3.2324
В дополнение к этим оценкам claculated можно получить средство оценки для условной ошибки расчета в течение года источника как:
где
factor1 = zeros(h,1);
factor2 = zeros(h,1);
factor1(2) = currentSelectedFactors(1,h-1)^2 + estimatedStandardDeviations(1,h-1)^2/sum(dTriangleTable{1,h-1});
factor2(2) = currentSelectedFactors(1,h-1)^2;
for i = 3:length(factor1)
factor1(i) = (currentSelectedFactors(1,h-i+1)^2 + estimatedStandardDeviations(1,h-i+1)^2/sum(dTriangleTable{1:i-1,h-i+1})) * factor1(i-1);
factor2(i) = currentSelectedFactors(1,h-i+1)^2 * factor2(i-1);
end
Var_hat = sqrt(dTriangle.LatestDiagonal.^2 .* (factor1 - factor2));
ReservesTable.("Conditional Var_hat")(1:end-1) = Var_hat;
ReservesTable.("variation for Var_hat")(1:end-1) = ReservesTable.("Conditional Var_hat")(1:end-1) ./ ReservesTable.("Reserves")(1:end-1) * 100;Используя предыдущие формулы, средство оценки для условного MSEP окончательного требования в течение одного года источника :
И средство оценки для условного MSEP окончательного требования в течение агрегированных лет источника:
summationFactorsMSEP = zeros(h,1); for i=2:length(summationFactorsMSEP) summationFactorsMSEP(i) = (((estimatedStandardDeviations(1,h-i+1)^2 / currentSelectedFactors(1,h-i+1)^2)) * (inv(dTriangle.LatestDiagonal(i)) + inv(sum(dTriangleTable{1:i-1,h-i+1})))) + summationFactorsMSEP(i-1); end msep = sqrt(ReservesTable.("Projected Ultimate Claims")(1:end-1).^2 .* summationFactorsMSEP); ReservesTable.MSEP(1:end-1) = msep; ReservesTable.("MSEP Uncertainty")(1:end-1) = ReservesTable.MSEP(1:end-1) ./ ReservesTable.("Reserves")(1:end-1) * 100; ReservesTable{'Total','Conditional Var_hat'} = sqrt(sum(ReservesTable.("Conditional Var_hat")(1:end-1).^2)); ReservesTable{'Total','variation for Var_hat'} = ReservesTable{'Total','Conditional Var_hat'} / ReservesTable{'Total','Reserves'} * 100; disp(ReservesTable(:,[2,3,6,7]));
Projected Ultimate Claims Reserves Conditional Var_hat variation for Var_hat
_________________________ ________ ___________________ _____________________
2010 5089.4 0 0 NaN
2011 5185.1 5.1857 0.0072985 0.14074
2012 5642.3 16.89 0.0099066 0.058655
2013 5838.6 34.886 0.011503 0.032972
2014 5936.3 57.583 1.4539 2.5248
2015 5861 88.148 2.7754 3.1486
2016 5863.6 149.34 5.0379 3.3735
2017 6157.7 303.29 9.1852 3.0285
2018 6105.1 609.99 13.941 2.2854
2019 6465.2 1519.3 28.137 1.852
Total NaN 2784.6 33.25 1.1941
Измерьте качество предполагаемых окончательных требований путем вычисления MSEP и MSEP Uncertainty.
summationFactorsCovarianceTerm = zeros(h,1); for i=2:length(summationFactorsCovarianceTerm) summationFactorsCovarianceTerm(i) = ((estimatedStandardDeviations(1,h-i+1)^2 / currentSelectedFactors(1,h-i+1)^2) / sum(dTriangleTable{1:i-1,h-i+1})) + summationFactorsCovarianceTerm(i-1); end totalSum = 0; for i = 2:h totalSum = totalSum + sum(dTriangle.LatestDiagonal(i,1) * fullTriangleTable{i+1:end, h-i+1} * summationFactorsCovarianceTerm(i)); end covarianceTerm = 2 * totalSum; totalMSEP = sqrt(sum(ReservesTable.MSEP(1:end-1) .^ 2) + covarianceTerm); ReservesTable{'Total','MSEP'} = totalMSEP; ReservesTable{'Total','MSEP Uncertainty'} = ReservesTable{'Total','MSEP'} / ReservesTable{'Total','Reserves'} * 100; disp(ReservesTable(:,[1,2,3,8,9]));
Latest Diagonal Projected Ultimate Claims Reserves MSEP MSEP Uncertainty
_______________ _________________________ ________ ________ ________________
2010 5089.4 5089.4 0 0 NaN
2011 5179.9 5185.1 5.1857 0.010274 0.19812
2012 5625.4 5642.3 16.89 0.014963 0.088593
2013 5803.7 5838.6 34.886 0.018471 0.052945
2014 5878.7 5936.3 57.583 3.14 5.453
2015 5772.8 5861 88.148 6.474 7.3445
2016 5714.3 5863.6 149.34 12.678 8.4897
2017 5854.4 6157.7 303.29 24.383 8.0394
2018 5495.1 6105.1 609.99 39.083 6.4071
2019 4945.9 6465.2 1519.3 82.903 5.4568
Total NaN NaN 2784.6 100.45 3.6074
Wüthrich, Марио и Майкл Мерц. Стохастические методы резервирования требований в страховке. Хобокен, NJ: Вайли, 2008.
Фридланд, Жаклин. "Оценивая неоплаченные требования Используя основные методы". Арлингтон, ВА: несчастный случай страховое общество, 2010.
developmentTriangle | view | linkRatios | linkRatiosPlot | linkRatioAverages | cdfSummary | ultimateClaims | claimsPlot | fullTriangle | chainLadder | expectedClaims | bornhuetterFerguson | capeCod