length(optim_res$par)*2 – 2*(optim_res$value*-1)

To do weighted estimation you need to multiply each term in the log-likelihood with the weights, something like this:

log_lik <- sum((log_lik_home + log_lik_visitor + log(dc_adj))*weights)

]]>Additionally adding the weights of dc, if i add the weigjt function from your other post and the new log likelihood function, will it run as it is?

Thanks for sharing your great work, i appreciate it. ]]>

The correct score odds are easy enough with two poisson distributions. Although I think its more a poisson birth/death process with a transitions matrix which allows to adjust for low goal rates. ]]>

using different regression methods or likelihood, like DC, or even machine learning you can figure out xG, and using a model you can derive any market you want (score based)

@opisthokonta excellent article once again

]]>I was disappointed about the bivariate negative binomial. Also copula’s didn’t worked out very well. I think no standard distribution will fit. So some tweaking will also we required. From the direct scoreline a reverse engineering with help of qqplot could lead to what they are using. ]]>

Instead of fitting from the probability I log-transformed them.

To be exact I extracted the principal scores of the score line odds. And showed that only the components corresponding to the largest 3 eigenvalues are necessary to recover the original in the case of a poisson distribution. ]]>