【发布时间】:2020-07-18 14:46:57
【问题描述】:
以下代码是我们的老师在实践课中介绍的。我对使用函数 optim() 的优化步骤中代码的最后一行有疑问,但我添加了其他行以澄清工作。
population <- read.csv("data.csv", header=FALSE, sep=';', dec=',')
数据看起来像:
1 8.29
2 5.37
3 10.61
4 5.92
5 14.99
6 9.74
7 15.47
.
.
.
我们从总体中抽取 100 个元素作为
Sampled_Data <- sample(population$V1, 100)
然后我们编写一个函数来计算采样元素的“对数正态分布”的可能性
MyFunc <- function(Myparameters,data){
Firstparameter <- Myparameters[1]
Secondparameter <- Myparameters[2]
n <- length(data)
Mydistribution <- -n/2*log(2*pi*(Secondparameter^2)) - sum(log(data)) - (1/(2*Secondparameter^2))*sum((log(data)-Firstparameter)^2)
return(Mydistribution)
}
最后我们用函数optim()用似然极大函数估计分布的两个参数
optimisation <- optim(c(1,1),MyFunc,data=Sampled_Data)
在函数optim() 中,我不明白为什么他添加了向量c(1,1),而从文档中,我们应该用参数的初始值填充它?他是否假设初始值为 1 & 1 ?如果是这样,基于我们假设的初始值。
另外,为什么他添加了data=Sampled_Data 而文档中没有类似的东西?从文档中可以看出,在添加函数之后,我们应该添加其他的东西,比如梯度、方法和边界!但不是我们拥有的数据!
最后,如果我想指定下限和上限,我不清楚在对数正态分布的情况下使用哪些值。
我不知道在哪里发布问题,在这里或交叉验证,但我在这里看到了类似的问题。无论如何,如果不是合适的地方我会删除问题。
【问题讨论】:
-
基于这些短语:“我不明白他为什么 [...]”、“他是否假设”、“另外,他为什么添加 [...]”;看来您的讲师是男性,并且可能是回答您有关他为什么要为此作业采取某些行动的问题的最佳人选。
-
@JohnH 很遗憾他在国外,我们无法联系或联系到他!
标签: r optimization statistics