Confidence intervall of quantil

조회 수: 7 (최근 30일)
Kalle
Kalle 2023년 6월 2일
답변: Prathamesh 2023년 8월 16일
Hi, I am trying to find the 95% confidence interval for my 99% quantile. I am using the 3 parameter Weibull distribution to get the quantile. Now I am trying to get the confidence interval. I have read that it is possible to get it with an anonymous function and with bootci while giving the data as input and getting the quantil as output. Unfortunately, I do not know how exactly this works.
clear all
close all
clc;
C = wblrnd(3,1:100)
custompdf = @(x,a,b,c) (x>c).*(b/a).*(((x-c)/a).^(b-1)).*exp(-((x-c)/a).^b);
customcdf = @(x,a,b,c) (x>c).*1-exp(-((x-c)/a).^b);
opt = statset('MaxIter',1e5,'MaxFunEvals',1e5,'FunValCheck','off');
params = mle(C,'pdf',custompdf,'start',[mean(C) mean(C) min(C)/max(C)],'Options',opt,'LowerBound',[0 0 -Inf],'UpperBound',[Inf Inf min(C)]);
a_parameter = params(1,1);
b_parameter = params(1,2);
c_parameter = params(1,3);
x = [c_parameter+eps(c_parameter):0.1:max(C)*1.5];
quantile_Weibull3 = fsolve(@(x) customcdf(x, a_parameter, b_parameter, c_parameter) - 0.99, mean(C));
  댓글 수: 1
Jeff Miller
Jeff Miller 2023년 6월 2일
Why do you start by generating random values for C? Normally a confidence interval is generated from some specific set of observed data values, so generating them randomly is confusing. Possibly I just don't understand the question...

댓글을 달려면 로그인하십시오.

답변 (1개)

Prathamesh
Prathamesh 2023년 8월 16일
Hi,
I understand that you want to know how the code works and how to find 95% confidence interval for your 99% quantile.
Pointers to explain the code and confidence interval calculation:
  1. Random data samples are generated from a Weibull distribution and PDF and CDF are defined for a three-parameter Weibull distribution.
  2. Options for MLE estimation are set specifying the maximum number of iterations and function evaluations and disables the check for valid function values.
  3. Parameters of the three-parameter Weibull distribution are estimated using MLE and are extracted from “params” array.
  4. Then the “fsolve” function is used to find the value of x for which the CDF equals 0.99. This corresponds to the quantile for a cumulative probability of 0.99 and the quantile is acquired.
  5. Now you can use “bootci” function to calculate 95% bootstrap confidence interval.
nboot = 1000;
bootfcn = @(x) quantile(x, 0.99);
ci = bootci(nboot, bootfcn, data);
To get more information about working of “bootci” function and how the confidence interval is calculated for different functions refer to the documentation attached below.

카테고리

Help CenterFile Exchange에서 Resampling Techniques에 대해 자세히 알아보기

Community Treasure Hunt

Find the treasures in MATLAB Central and discover how the community can help you!

Start Hunting!

Translated by