Я хотел бы написать код для создания набора данных, подвергнутого цензуре с 1 цензурированной точкой данных и изменяемым процентом цензуры.
У меня есть следующий код для генерации некоторых случайных чисел, но не подвергнут цензуре
n=input('Enter sample size:');
GM=input('Enter geometric mean:');
GSD=input('Enter geometric standard deviation:');
m=input('Enter desired number of dataset:');
x = lognrnd(log(GM), log(GSD),n,m);
У меня есть следующий код для создания цензурированного набора данных с известным значением предела обнаружения (lod) (LOD), а затем вычисления процентного цензурированного значения, и там у меня есть набор данных для работы.
c = (x > lod); % c are values less than this number
x(c) = lod; % create single lod
sum(c)/length(c) % calculate percent censored
но я хочу предоставить компьютеру желаемый процент цензуры и заставить компьютер найти, что lod соответствует этому проценту. Я могу вручную ввести значение lod, но это занимает очень много времени, если я хочу создать набор данных с процентной цензурой 5-95.
Цель состоит в том, чтобы создать различные наборы цензурированных данных с различным процентом цензурированных для моделирования. Я делал это по одному набору данных за один раз, и это занимает очень много времени. Пожалуйста, дайте мне знать, если это все имеет смысл.