问题描述
我有以下代码,希望估算自定义发行版的参数. 有关分发的更多详细信息.然后,使用估计的参数,我想查看估计的PDF是否类似于给定数据的分布(应该与给定数据的分布匹配).
I have the following code that I wish to estimate the parameters of a custom distribution. For more details on the distribution. Then using the estimated parameters I want to see if the estimated PDF resembles the distribution of the given the data (it is supposed to match the distribution of the given data).
:"x"现在包含数据样本,而不是PDF
主要代码是:
x = [0.0320000000000000 0.0280000000000000 0.0280000000000000 0.0270000000000000 0.0320000000000000 0.0320000000000000 0.0480000000000000 0.0890000000000000 0.0500000000000000 0.0620000000000000 0.0480000000000000 0.0300000000000000 0.0520000000000000 0.0460000000000000 0.0540000000000000 0.0520000000000000 0.0510000000000000 0.0310000000000000 0.0330000000000000 0.0330000000000000 0.0380000000000000 0.0850000000000000 0.102000000000000 0.0290000000000000 0.0530000000000000 0.0590000000000000 0.0320000000000000 0.0800000000000000 0.0410000000000000 0.0280000000000000 0.0670000000000000 0.0350000000000000 0.0420000000000000 0.0280000000000000 0.0370000000000000 0.0480000000000000 0.0330000000000000 0.101000000000000 0.0420000000000000 0.0840000000000000 0.0340000000000000 0.0900000000000000 0.0900000000000000 0.0460000000000000 0.0290000000000000 0.0330000000000000 0.0350000000000000 0.0330000000000000 0.0320000000000000 0.0420000000000000 0.0600000000000000 0.0500000000000000 0.0390000000000000 0.0480000000000000 0.0680000000000000 0.0330000000000000 0.0510000000000000 0.0430000000000000 0.0270000000000000 0.0330000000000000 0.0590000000000000 0.0380000000000000 0.0270000000000000 0.0600000000000000 0.0310000000000000 0.0520000000000000 0.0350000000000000 0.0640000000000000 0.0570000000000000 0.0520000000000000 0.0330000000000000 0.0480000000000000 0.0530000000000000 0.0380000000000000 0.0320000000000000 0.0340000000000000 0.0380000000000000 0.0470000000000000 0.0950000000000000 0.0510000000000000 0.0280000000000000 0.124000000000000 0.0360000000000000 0.0670000000000000 0.0380000000000000 0.0760000000000000 0.0440000000000000 0.0390000000000000 0.0500000000000000 0.0500000000000000 0.0370000000000000 0.0350000000000000 0.0490000000000000 0.0570000000000000 0.0560000000000000 0.0500000000000000 0.0350000000000000 0.0390000000000000 0.0390000000000000 0.0310000000000000 0.0260000000000000 0.0350000000000000 0.0610000000000000 0.0280000000000000 0.0480000000000000 0.0560000000000000 0.0650000000000000 0.0400000000000000 0.131000000000000 0.0600000000000000 0.0310000000000000 0.0620000000000000 0.0320000000000000 0.0510000000000000 0.0510000000000000 0.0480000000000000 0.0420000000000000 0.0470000000000000 0.0690000000000000 0.0590000000000000 0.0550000000000000 0.0580000000000000 0.0410000000000000 0.0320000000000000 0.0440000000000000 0.0370000000000000 0.0390000000000000 0.0620000000000000 0.0290000000000000 0.0340000000000000 0.0490000000000000 0.0300000000000000 0.0540000000000000 0.0420000000000000 0.0610000000000000 0.159000000000000 0.0520000000000000 0.0450000000000000 0.0670000000000000 0.0590000000000000 0.111000000000000 0.0250000000000000 0.0660000000000000 0.0210000000000000 0.0370000000000000 0.0330000000000000 0.0510000000000000 0.0330000000000000 0.0450000000000000 0.0530000000000000 0.0600000000000000 0.0400000000000000 0.0510000000000000 0.0680000000000000 0.0410000000000000 0.0490000000000000 0.0280000000000000 0.0520000000000000 0.0610000000000000 0.0390000000000000 0.0630000000000000 0.0360000000000000 0.0620000000000000 0.0550000000000000 0.0640000000000000 0.0650000000000000 0.0550000000000000 0.0480000000000000 0.0640000000000000 0.0850000000000000 0.0800000000000000 0.0390000000000000 0.0430000000000000 0.0380000000000000 0.0770000000000000 0.0620000000000000 0.0430000000000000 0.0490000000000000 0.0450000000000000 0.0510000000000000 0.0290000000000000 0.0440000000000000 0.0220000000000000 0.0400000000000000 0.0760000000000000 0.0290000000000000 0.0460000000000000 0.0450000000000000 0.0430000000000000 0.0790000000000000 0.0730000000000000 0.0660000000000000 0.0740000000000000 0.0330000000000000 0.0430000000000000 0.0450000000000000 0.0390000000000000 0.0610000000000000 0.0330000000000000 0.0480000000000000 0.0540000000000000 0.0400000000000000 0.0370000000000000 0.0350000000000000 0.0660000000000000 0.0280000000000000 0.0350000000000000 0.0500000000000000 0.0530000000000000 0.0370000000000000 0.0550000000000000 0.0390000000000000 0.0580000000000000 0.0220000000000000 0.0560000000000000 0.0440000000000000 0.0470000000000000 0.0390000000000000 0.0490000000000000 0.0640000000000000 0.0710000000000000 0.0510000000000000 0.0380000000000000 0.0480000000000000 0.0840000000000000 0.0430000000000000 0.0450000000000000 0.0370000000000000 0.0490000000000000 0.0390000000000000 0.0410000000000000 0.0440000000000000 0.0650000000000000 0.0470000000000000 0.0490000000000000 0.0480000000000000 0.0540000000000000 0.0680000000000000 0.0740000000000000 0.0350000000000000 0.0300000000000000 0.0450000000000000 0.0350000000000000 0.0370000000000000 0.0710000000000000 0.0360000000000000 0.0660000000000000 0.0380000000000000 0.0440000000000000 0.0320000000000000 0.0590000000000000 0.0390000000000000 0.0640000000000000 0.0630000000000000 0.0310000000000000 0.0570000000000000 0.0630000000000000 0.0280000000000000 0.0560000000000000 0.0910000000000000 0.0580000000000000 0.0680000000000000 0.0420000000000000 0.0810000000000000 0.0380000000000000 0.0250000000000000 0.0340000000000000 0.0450000000000000 0.0370000000000000 0.0390000000000000 0.0300000000000000 0.0410000000000000 0.0580000000000000 0.0300000000000000 0.0830000000000000 0.0380000000000000 0.0300000000000000 0.0530000000000000 0.0610000000000000 0.0370000000000000 0.0390000000000000 0.0340000000000000 0.0280000000000000 0.0420000000000000 0.0620000000000000 0.0520000000000000 0.0310000000000000 0.0590000000000000 0.0520000000000000 0.0420000000000000 0.0430000000000000 0.0410000000000000 0.0250000000000000 0.0570000000000000 0.0370000000000000 0.0270000000000000 0.0860000000000000 0.0660000000000000 0.0470000000000000 0.0270000000000000 0.0830000000000000 0.0440000000000000 0.0680000000000000 0.0500000000000000 0.0480000000000000 0.0520000000000000 0.0510000000000000 0.0290000000000000 0.0360000000000000 0.0290000000000000 0.0390000000000000 0.0290000000000000 0.0600000000000000 0.0310000000000000 0.0440000000000000 0.0410000000000000 0.0350000000000000 0.0510000000000000 0.0660000000000000 0.0450000000000000 0.0520000000000000 0.0530000000000000 0.0260000000000000 0.0690000000000000 0.0590000000000000 0.0760000000000000 0.118000000000000 0.0500000000000000 0.0480000000000000 0.0300000000000000 0.0300000000000000 0.0390000000000000 0.0340000000000000 0.0500000000000000 0.0280000000000000 0.0410000000000000 0.0490000000000000 0.0390000000000000 0.0390000000000000 0.0420000000000000 0.0520000000000000 0.0300000000000000 0.0320000000000000 0.0650000000000000 0.0650000000000000 0.0600000000000000 0.0450000000000000 0.0680000000000000 0.0350000000000000 0.0340000000000000 0.0260000000000000 0.0600000000000000 0.0920000000000000 0.0460000000000000 0.0560000000000000 0.0440000000000000 0.0450000000000000 0.0520000000000000 0.0480000000000000 0.0420000000000000 0.0990000000000000 0.0480000000000000 0.0360000000000000 0.0470000000000000 0.0390000000000000 0.0290000000000000 0.0270000000000000 0.0370000000000000 0.0580000000000000 0.0640000000000000 0.0300000000000000 0.0380000000000000 0.0240000000000000 0.0380000000000000 0.0830000000000000 0.0400000000000000 0.0990000000000000 0.0600000000000000 0.0580000000000000 0.0430000000000000 0.0840000000000000 0.0390000000000000 0.0370000000000000 0.0850000000000000 0.0590000000000000 0.0530000000000000 0.0560000000000000 0.0320000000000000 0.0340000000000000 0.0250000000000000 0.0520000000000000 0.0490000000000000 0.0270000000000000 0.0470000000000000 0.0520000000000000 0.0530000000000000 0.0410000000000000 0.0260000000000000 0.0290000000000000 0.0470000000000000 0.0550000000000000 0.0710000000000000 0.0520000000000000 0.0650000000000000 0.0440000000000000 0.0710000000000000 0.0550000000000000 0.0410000000000000 0.0640000000000000 0.0350000000000000 0.0930000000000000 0.0310000000000000 0.0480000000000000 0.0370000000000000 0.0380000000000000 0.0520000000000000 0.0370000000000000 0.0350000000000000 0.0280000000000000 0.0340000000000000 0.0400000000000000 0.0370000000000000 0.0570000000000000 0.0610000000000000 0.0440000000000000 0.0680000000000000 0.0470000000000000 0.0400000000000000 0.0270000000000000 0.0470000000000000 0.0350000000000000 0.0290000000000000 0.0280000000000000 0.0300000000000000 0.0770000000000000 0.0310000000000000 0.0560000000000000 0.0640000000000000 0.0420000000000000 0.0340000000000000 0.0290000000000000 0.0520000000000000 0.0260000000000000 0.0460000000000000 0.0380000000000000 0.0720000000000000 0.0750000000000000 0.0510000000000000 0.0560000000000000 0.0440000000000000 0.0390000000000000 0.0470000000000000 0.0450000000000000 0.0400000000000000 0.0880000000000000 0.0300000000000000 0.0440000000000000 0.0610000000000000 0.0370000000000000 0.0350000000000000 0.0490000000000000 0.0510000000000000 0.0820000000000000 0.0390000000000000 0.0440000000000000 0.0600000000000000 0.0310000000000000 0.0720000000000000 0.0460000000000000 0.0530000000000000 0.0500000000000000 0.0550000000000000 0.0390000000000000 0.0570000000000000 0.0460000000000000 0.0410000000000000 0.0470000000000000 0.0310000000000000 0.0720000000000000 0.0440000000000000 0.0610000000000000 0.0470000000000000 0.0420000000000000 0.0620000000000000 0.0790000000000000 0.0360000000000000 0.0450000000000000 0.0400000000000000 0.0540000000000000 0.0500000000000000 0.0430000000000000 0.0670000000000000 0.0230000000000000 0.0290000000000000 0.0450000000000000 0.0270000000000000 0.0470000000000000 0.0360000000000000 0.0600000000000000 0.0440000000000000 0.0290000000000000 0.0280000000000000 0.0350000000000000 0.0840000000000000 0.0660000000000000 0.0410000000000000 0.0300000000000000 0.0440000000000000 0.0450000000000000 0.0470000000000000 0.0620000000000000 0.0420000000000000 0.0300000000000000 0.0330000000000000 0.0320000000000000 0.0440000000000000 0.0700000000000000 0.0340000000000000 0.0420000000000000 0.0480000000000000 0.0360000000000000 0.0590000000000000 0.106000000000000 0.0280000000000000 0.0540000000000000 0.0870000000000000 0.0300000000000000 0.0300000000000000 0.0370000000000000 0.0210000000000000 0.0360000000000000 0.0910000000000000 0.126000000000000 0.0780000000000000 0.0510000000000000 0.0500000000000000 0.0370000000000000 0.0540000000000000 0.0380000000000000 0.0350000000000000 0.0480000000000000 0.0300000000000000 0.0340000000000000 0.133000000000000 0.0330000000000000 0.0340000000000000 0.0480000000000000 0.0590000000000000 0.0460000000000000 0.0650000000000000 0.0360000000000000 0.0650000000000000 0.0860000000000000 0.0290000000000000 0.0800000000000000 0.0430000000000000 0.0360000000000000 0.0490000000000000 0.0580000000000000 0.0310000000000000 0.0300000000000000 0.0330000000000000 0.0390000000000000 0.0330000000000000 0.0620000000000000 0.0330000000000000 0.0940000000000000 0.0270000000000000 0.0410000000000000 0.0570000000000000 0.0540000000000000 0.0390000000000000 0.0270000000000000 0.0590000000000000 0.0320000000000000 0.0390000000000000 0.0400000000000000 0.0720000000000000 0.0480000000000000 0.0480000000000000 0.0560000000000000 0.0730000000000000 0.0410000000000000 0.0520000000000000 0.0840000000000000 0.0590000000000000 0.0690000000000000 0.0330000000000000 0.0400000000000000 0.0320000000000000 0.0320000000000000 0.0310000000000000 0.0520000000000000 0.0760000000000000 0.0420000000000000 0.0370000000000000 0.0360000000000000 0.0780000000000000 0.0590000000000000 0.0390000000000000 0.0590000000000000 0.0880000000000000 0.0410000000000000 0.0640000000000000 0.0350000000000000 0.0350000000000000 0.0530000000000000 0.0490000000000000 0.0330000000000000 0.0640000000000000 0.0320000000000000 0.0880000000000000 0.0310000000000000 0.0980000000000000 0.0380000000000000 0.0270000000000000 0.0690000000000000 0.0530000000000000 0.0610000000000000 0.0380000000000000 0.0470000000000000 0.0620000000000000 0.0400000000000000 0.0400000000000000 0.0310000000000000 0.0740000000000000 0.0280000000000000 0.0310000000000000 0.0330000000000000 0.115000000000000 0.0890000000000000 0.0770000000000000 0.0490000000000000 0.0640000000000000 0.0580000000000000 0.0540000000000000 0.0330000000000000 0.0490000000000000 0.0230000000000000 0.0330000000000000 0.0490000000000000 0.0370000000000000 0.0330000000000000 0.0490000000000000 0.0460000000000000 0.0750000000000000 0.0420000000000000 0.0610000000000000 0.0340000000000000 0.0870000000000000 0.0390000000000000 0.0410000000000000 0.0430000000000000 0.0810000000000000 0.0570000000000000 0.0440000000000000 0.0470000000000000 0.0470000000000000 0.0320000000000000 0.0730000000000000 0.0590000000000000 0.0290000000000000 0.0450000000000000 0.0310000000000000 0.0450000000000000 0.0490000000000000 0.0880000000000000 0.0220000000000000 0.0330000000000000 0.0360000000000000 0.0350000000000000 0.0540000000000000 0.0470000000000000 0.0390000000000000 0.0300000000000000 0.0450000000000000 0.0740000000000000 0.0270000000000000 0.0320000000000000 0.0640000000000000 0.0750000000000000 0.0320000000000000 0.0300000000000000 0.0310000000000000 0.0470000000000000 0.0510000000000000 0.0520000000000000 0.0680000000000000 0.0700000000000000 0.0630000000000000 0.0410000000000000 0.0510000000000000 0.0460000000000000 0.0280000000000000 0.0780000000000000 0.0420000000000000 0.0390000000000000 0.0540000000000000 0.0310000000000000 0.0380000000000000 0.0320000000000000 0.0370000000000000 0.0260000000000000 0.0450000000000000 0.0610000000000000 0.0510000000000000 0.0240000000000000 0.0660000000000000 0.0380000000000000 0.0370000000000000 0.0450000000000000 0.0430000000000000 0.0710000000000000 0.0490000000000000 0.147000000000000 0.0340000000000000 0.0600000000000000 0.0400000000000000 0.0280000000000000 0.0350000000000000 0.0320000000000000 0.0410000000000000 0.0380000000000000 0.0380000000000000 0.0410000000000000 0.0600000000000000 0.0740000000000000 0.0350000000000000 0.0800000000000000 0.0370000000000000 0.0650000000000000 0.0300000000000000 0.0590000000000000 0.0620000000000000 0.0690000000000000 0.0540000000000000 0.0560000000000000 0.0230000000000000 0.0420000000000000 0.0560000000000000 0.0620000000000000 0.0460000000000000 0.0490000000000000 0.0690000000000000 0.0370000000000000 0.0400000000000000 0.0580000000000000 0.0340000000000000 0.0480000000000000 0.0300000000000000 0.0430000000000000 0.0270000000000000 0.0500000000000000 0.0550000000000000 0.0790000000000000 0.0380000000000000 0.0410000000000000 0.0450000000000000 0.0310000000000000 0.0430000000000000 0.0410000000000000 0.0480000000000000 0.0390000000000000 0.0650000000000000 0.0500000000000000 0.0500000000000000 0.0560000000000000 0.0690000000000000 0.0470000000000000 0.0790000000000000 0.0400000000000000 0.0540000000000000 0.0680000000000000 0.0660000000000000 0.0290000000000000 0.0520000000000000 0.0440000000000000 0.0570000000000000 0.0360000000000000 0.0610000000000000 0.0430000000000000 0.0470000000000000 0.0470000000000000 0.0500000000000000 0.0410000000000000 0.0690000000000000 0.0480000000000000 0.0480000000000000 0.0900000000000000 0.0590000000000000 0.0400000000000000 0.0340000000000000 0.0350000000000000 0.0520000000000000 0.0970000000000000 0.0350000000000000 0.0650000000000000 0.0320000000000000 0.0480000000000000 0.102000000000000 0.0410000000000000 0.0580000000000000 0.0260000000000000 0.0280000000000000 0.0660000000000000 0.0320000000000000 0.0390000000000000 0.0580000000000000 0.0450000000000000 0.0390000000000000 0.0610000000000000 0.0540000000000000 0.0490000000000000 0.0420000000000000 0.0490000000000000 0.0510000000000000 0.0350000000000000 0.0600000000000000 0.0920000000000000 0.0750000000000000 0.0360000000000000 0.0540000000000000 0.0850000000000000 0.0630000000000000 0.0330000000000000 0.0620000000000000 0.0370000000000000 0.0570000000000000 0.0280000000000000 0.0420000000000000 0.0510000000000000 0.0370000000000000 0.0480000000000000 0.125000000000000 0.0570000000000000 0.0870000000000000 0.0450000000000000 0.0310000000000000 0.0370000000000000 0.0650000000000000 0.0380000000000000 0.0590000000000000 0.0570000000000000 0.0540000000000000 0.0390000000000000 0.0500000000000000 0.0430000000000000 0.0360000000000000 0.0330000000000000 0.0280000000000000 0.0650000000000000 0.0440000000000000 0.0210000000000000 0.0410000000000000 0.0330000000000000 0.0600000000000000 0.0810000000000000 0.0370000000000000 0.0510000000000000 0.0370000000000000 0.0940000000000000 0.0440000000000000 0.0320000000000000 0.0590000000000000 0.0400000000000000 0.0570000000000000 0.0720000000000000 0.0640000000000000 0.0610000000000000 0.0500000000000000 0.0590000000000000 0.0520000000000000 0.0510000000000000 0.0910000000000000 0.0590000000000000 0.0370000000000000 0.0320000000000000 0.0740000000000000 0.0560000000000000 0.0310000000000000 0.0390000000000000 0.112000000000000 0.0580000000000000 0.0420000000000000 0.0280000000000000 0.0340000000000000 0.0360000000000000 0.0240000000000000 0.0380000000000000 0.0640000000000000 0.0320000000000000 0.0650000000000000 0.0300000000000000 0.0270000000000000 0.0530000000000000 0.0290000000000000 0.0380000000000000 0.0360000000000000 0.0510000000000000 0.0380000000000000 0.0340000000000000 0.0410000000000000 0.0630000000000000 0.0740000000000000 0.0760000000000000 0.0450000000000000 0.0630000000000000 0.0270000000000000 0.0660000000000000 0.0380000000000000 0.0540000000000000 0.0880000000000000 0.0450000000000000 0.0440000000000000 0.0460000000000000 0.0520000000000000 0.0380000000000000 0.0360000000000000 0.0500000000000000 0.0330000000000000 0.0610000000000000 0.0480000000000000 0.0480000000000000 0.0470000000000000 0.113000000000000 0.0470000000000000 0.0630000000000000 0.0800000000000000 0.0410000000000000 0.0630000000000000 0.0540000000000000 0.0450000000000000 0.0960000000000000 0.0500000000000000 0.0430000000000000 0.0340000000000000 0.0430000000000000 0.0440000000000000 0.0690000000000000 0.0580000000000000 0.0520000000000000 0.0640000000000000 0.0820000000000000 0.0390000000000000 0.0350000000000000 0.0700000000000000 0.0430000000000000 0.0340000000000000 0.0540000000000000 0.0580000000000000 0.0540000000000000 0.0430000000000000 0.0530000000000000 0.0590000000000000 0.0520000000000000 0.0730000000000000 0.0440000000000000 0.0970000000000000 0.0520000000000000 0.0510000000000000 0.0750000000000000 0.0320000000000000 0.0480000000000000 0.0410000000000000 0.0390000000000000 0.0380000000000000 0.0430000000000000 0.0440000000000000 0.0360000000000000 0.0400000000000000 0.0480000000000000 0.0430000000000000 0.0610000000000000 0.0610000000000000 0.0370000000000000 0.0520000000000000 0.0820000000000000 0.0480000000000000 0.0330000000000000 0.0460000000000000 0.0530000000000000 0.0690000000000000 0.0370000000000000 0.0330000000000000 0.0840000000000000 0.0860000000000000 0.0470000000000000 0.102000000000000 0.0350000000000000 0.0370000000000000 0.0630000000000000 0.0760000000000000 0.0830000000000000 0.0360000000000000 0.0590000000000000 0.0430000000000000 0.0790000000000000 0.0330000000000000 0.0520000000000000 0.0530000000000000];
Censored = ones(1,size(x,2));%
custpdf = @eval_custpdf;
custcdf = @eval_custcdf;
options = statset('Display','iter','MaxFunEvals',1000,'MaxIter',1000,...
'FunValCheck','off','TolX',1.0e-10,'TolFun',1.0e-10);
phat = mle(x,'pdf', custpdf,'cdf', custcdf,...
'start',[0.6,0.02,1.01,2,4,-10],...
'lowerbound',[0 0 0 0 0 -inf],...
'upperbound',[inf inf inf inf inf inf],...
'Censoring',Censored,...
'Options',options);;
% Checking how close the estimated PDF and CDF match with those from the data x
figure();
h = histogram(x,'Normalization','probability');hold on
x_times = h.BinEdges(1:end-1) + h.BinWidth/2 ;
y_vals = custpdf(x_times, phat(1), phat(2), phat(3), phat(4), phat(5), phat(6))./...
sum(custpdf(x_times, phat(1), phat(2), phat(3), phat(4), phat(5), phat(6)),'omitnan');
plot(x_times,y_vals,'linewidth',2)
legend('Data','Estimated PDF')
功能是:
function out = eval_custpdf(x,myalpha,mytheta,mybeta,a,b,c)
first_integral = integral(@(x) eval_K(x,a,b,c),0,1).^-1;
theta_t_ratio = (mytheta./x);
incomplete_gamma = igamma(myalpha,theta_t_ratio.^mybeta);
n_gamma = gamma(myalpha);
exponent_term = exp(-theta_t_ratio.^mybeta-(c.*(incomplete_gamma./n_gamma)));
numerator = first_integral.* mybeta.*incomplete_gamma.^(a-1).*...
theta_t_ratio.^(myalpha*mybeta+1).*exponent_term;
denominator = mytheta.* n_gamma.^(a+b-1).* (n_gamma-incomplete_gamma.^mybeta).^(1-b);
out = numerator./denominator;
end
function out = eval_custcdf(x,myalpha,mytheta,mybeta,a,b,c)
out = zeros(size(x));
for i = 1: length(x)
first_integral = integral(@(x) eval_K(x,a,b,c),0,1).^-1;
theta_t_ratio = mytheta./x(i);
incomplete_gamma = igamma(myalpha,theta_t_ratio.^mybeta);
n_gamma = gamma(myalpha);
second_integral = integral(@(x) eval_K(x,a,b,c),0,...
incomplete_gamma.^mybeta./n_gamma);
% second_integral = integral(@(x) eval_K(x,a,b,c),0,2);
out(i) = first_integral*second_integral;
end
end
function out = eval_K(x,a,b,c)
out = x.^(a-1).*(1-x).^(b-1).*exp(-c.*x);
end
但是,我没有成功获得所需的PDF.正如您在图中所看到的,估计的PDF(橙色线)没有追踪到"x"的直方图(蓝色条形).
However, I have not been successfull to obtain the desired PDF. As you can see in the figure, the estimated PDF (orange line) does not trace the histogram of 'x' (blue bars).
[UPDATE]标准化直方图
请注意,我已经更改了参数的初始值.但这非常耗时.我还增加了迭代次数,并最大程度地降低了公差,但还没有运气.除了mle
之外,还有没有更好的方法来估算参数?
Note that I have varied the initial values of the parameters. But this is very time consuming. I also increased the number of iterations and minimized the tolerance, but no luck yet. Is there a better way to estimate the paratemters other than mle
?
任何帮助将不胜感激.
谢谢.
推荐答案
从帮助中注意到这一点
给我们第一个调试建议.因此,从输入列表中删除检查部分和CDF并运行
gives us a first suggestion for debugging. So removing the censoring part and the CDF from the input list and running
phat = mle(x,'pdf', @eval_custpdf,'start',[0.6,0.02,1.01,2,4,-10]);
phat = mle(x,'pdf', @eval_custpdf,'start',phat); %Restart for better result
产生数字
告诉我们问题可能出在CDF函数中.与问题中给出的链接相比,我们看到这一行
Telling us that the problem might be in the CDF function. Comparing with the link given in the question, we see that this line
second_integral = integral(@(x) eval_K(x,a,b,c),0,incomplete_gamma.^mybeta./n_gamma);
应该是
second_integral = integral(@(x) eval_K(x,a,b,c),0,incomplete_gamma./n_gamma);
这篇关于使用mle()估算自定义分布的参数的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!