Нахождение идеального параметра путем подбора mle максимального правдоподобия - PullRequest
1 голос
/ 30 октября 2019

Мне было интересно, может ли кто-нибудь помочь мне решить мою проблему. Поэтому я ищу, чтобы найти идеальное соответствие моей функции для моих переменных в моем фрейме данных (см. Пример ниже). Осмотревшись, я наткнулся на функцию mle () и подумал: да, вот и все! Но я получил предупреждающее сообщение, может кто-нибудь помочь мне решить его?

И я до сих пор не уверен, нужна ли мне эта функция ... Так может у людей есть другие предположения? Суть в том, что я хочу определить формулу с одним параметром y = exp (-a * x), поэтому функция должна искать идеальное соответствие параметров

G <- c(1,0.86,0.72,0.56,0.33,0.09)
K <- c(0.53,1.11,1.5,2.01,3.3,5.1)
find1 <- data.frame(G,K)

library(bbmle)

functie1 <- function(a, sigma) {
  G = exp(- a * K)
  -sum(dnorm(find1, mean = G, sd = sigma, log = TRUE))
}

mle2.model <- mle2(functie1, start = list(a=1, sigma=1))

, так что это ошибка массажа Iполучить:

Error in dnorm(find1, mean = G, sd = sigma, log = TRUE) : 
 Non-numeric argument to mathematical function 

1 Ответ

0 голосов
/ 30 октября 2019

Я выполнил поиск по опубликованным данным и не смог найти ни одного уравнения с одним параметром. Для уравнений с двумя параметрами уравнение «G = a * pow (K, 0.5) + смещение», по-видимому, хорошо подходит для параметров a = -6.1550168428728214E-01 и смещения = 1.4651888116019784E + 00, что дает RMSE = 0.0253 и Rв квадрате = 0,993.

plot

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...