function [PDF, PDF_interp, CDF, CDF_interp] = economics_pdf(X,fx, rnd) % function to analyse economic datasets with expenditures of Cereals, other % Foods, Non-food given as input X with frequency bins fx and rounds rnd %(multiple per year) % prepare variables and index the observations in each round. %PDF = 0; PDF_interp = 0; CDF = 0; CDF_interp = 0; N = length(X); index = find((rnd(1:end-1)-rnd(2:end))<0); index = [0,index']; index(end+1) = N; rounds = length(index)-1; interp_length = 100; for i = 1:rounds %1:rounds % CDF for X data rnd_length = index(i+1)-(index(i)); CDF{i}(2,:) = cumsum(fx(index(i)+1:index(i+1))); CDF{i}(1,:) = X(index(i)+1:index(i+1))./max(X(index(i)+1:index(i+1))); % PDF for X data PDF{i}(2,:) = [0;diff(cumsum(fx(index(i)+1:index(i+1))))]; PDF{i}(1,:) = X(index(i)+1:index(i+1))./max(X(index(i)+1:index(i+1))); % smoothing of CDF and PDF using piecewise cubic hermite interpolating polynomials l1 = pchip(X(index(i)+1:index(i+1),1)./(max(X(index(i)+1:index(i+1),1))),[0;diff(cumsum(fx(index(i)+1:index(i+1))))],linspace(min(X(index(i)+1:index(i+1),1)./(ones(rnd_length,1)*max(X(index(i)+1:index(i+1),1)))),1,interp_length)); l2 = pchip(X(index(i)+1:index(i+1))./(max(X(index(i)+1:index(i+1)))), cumsum(fx(index(i)+1:index(i+1)))./100,linspace(min(X(index(i)+1:index(i+1))./(max(X(index(i)+1:index(i+1))))), 1, interp_length)); CDF_interp{i}(2,:) = l2; CDF_interp{i}(1,:) = linspace(min(X(index(i)+1:index(i+1))./(max(X(index(i)+1:index(i+1))))), 1, interp_length); PDF_interp{i}(2,:) = l1; PDF_interp{i}(1,:) = linspace(min(X(index(i)+1:index(i+1),1)./(ones(rnd_length,1)*max(X(index(i)+1:index(i+1),1)))),1,interp_length); end end