假设我有一些数据,我想在其上安装一个参数化模型.我的目标是为此模型参数找到最佳值.
我正在使用AIC/BIC/MDL类型的标准进行模型选择,这种标准可以奖励低误差的模型,但也会对高复杂度的模型进行惩罚(我们正在寻找对这些数据最简单但最有说服力的解释,可以这么说,奥卡姆的剃刀).
按照上面的说明,这是我得到的三种不同标准的例子(两个要最小化,一个要最大化):

在视觉上你可以很容易地看到肘部形状,你会在该区域的某处选择一个参数值.问题是我正在为大量实验做这件事,我需要一种方法来找到这个值而不需要干预.
我的第一个直觉是尝试从角落以45度角绘制一条直线并继续移动它直到它与曲线相交,但这说起来容易做起来:)如果曲线有些偏斜,它也会错过感兴趣的区域.
关于如何实现这个或更好的想法的任何想法?
以下是重现上述一个图表所需的样本:
curve = [8.4663 8.3457 5.4507 5.3275 4.8305 4.7895 4.6889 4.6833 4.6819 4.6542 4.6501 4.6287 4.6162 4.585 4.5535 4.5134 4.474 4.4089 4.3797 4.3494 4.3268 4.3218 4.3206 4.3206 4.3203 4.2975 4.2864 4.2821 4.2544 4.2288 4.2281 4.2265 4.2226 4.2206 4.2146 4.2144 4.2114 4.1923 4.19 4.1894 4.1785 4.178 4.1694 4.1694 4.1694 4.1556 4.1498 4.1498 4.1357 4.1222 4.1222 4.1217 4.1192 4.1178 4.1139 4.1135 4.1125 4.1035 4.1025 4.1023 4.0971 4.0969 4.0915 …Run Code Online (Sandbox Code Playgroud) 我正在尝试聚类矩阵(大小:20057x2):
T = clusterdata(X,cutoff);
Run Code Online (Sandbox Code Playgroud)
但我得到这个错误:
??? Error using ==> pdistmex
Out of memory. Type HELP MEMORY for your options.
Error in ==> pdist at 211
Y = pdistmex(X',dist,additionalArg);
Error in ==> linkage at 139
Z = linkagemex(Y,method,pdistArg);
Error in ==> clusterdata at 88
Z = linkage(X,linkageargs{1},pdistargs);
Error in ==> kmeansTest at 2
T = clusterdata(X,1);
有人能帮我吗.我有4GB的内存,但认为问题来自其他地方..
我有一个为期一年的每日能源消耗数据集。我想显示这个数据集的散点图,分为我期望存在的四个集群(由于四个季节的差异)
我知道 matlab 集群函数可以做到这一点,但我的统计数据非常生疏,我希望得到一些指导,了解哪个函数最适合使用
谢谢