我试图拟合曲线以获得新闻文章所具有的数量的估计函数作为文章年龄的函数。我有一个包含5000个数据点的数据集。 X轴是以小时为单位发布的时间,y轴是它拥有的份额数。
该函数的局限性在于它不允许具有负推导(一篇文章在它变老时不会松散)并且在x = 0时,y不能大于0。
我设法得到这样的东西的唯一方法是使用该功能 一个日志*(X-1)/数(B)+ C 并且只在第一个小时左右应用到240。如果我花费更长的时间跨度,它就变成线性估计,其中y(0)> 0。我还必须挑选500以上的所有数据点,否则它会变高。
我使用了以下MATLAB代码
modelFunc = @(p,x) p(1) .* log(x-1)/log(p(2)) + p(3);
coef = nlinfit(B(:,2),B(:,1),modelFunc,[1 2 0 0])
但这个aproch有几个问题导致结果无用:
我认为这是一个对数增长
我及时随机选择了截止值,使图表看起来很好"
我随机选择了#34;非常高的喜欢"
因此,这个估算线更多地基于我的眼睛看起来比数学计算更好......
有关如何对其进行良好估算的任何想法?