How to fit the Expectation?

135 Views Asked by At

Imagine I have the following approximation to the expectation of a random variable $Y$ $$ E[Y]\simeq \alpha x^{-\beta} $$ for $x,\alpha>0$ and $0<\beta<1$. Now, imagine I have some average data $E[Y]$ which allows me to compute the theoretical fit parameter $x=(E[Y]/\alpha)^{-1/\beta}$. Then, upon a large number of simulations, I get the simulated average, $Y_s$, which satisfies $Y_s<E[Y]$, as seen

enter image description here

Naturally, I now would like to readjust my parameter $x$ by lowering its value, gradually, until I minimize $|E[Y]-Y_s|$. What is the best way to do this?

For example, iterating over $i$, one could define $$ \frac{x_{i+1}}{x_i}=\frac{(E[Y]/\alpha)^{-1/\beta}}{(Y_s/\alpha)^{-1/\beta}} \Rightarrow x_{i+1}=x_i\left(\frac{Y_s}{E[Y]} \right)^{\frac{1}{\beta}} $$ Since $0<\beta<1$, if $E[Y]>Y_s$, for example, then $x_{i+1}<x_i$ and we would hope $\frac{Y_s}{E[Y]}\to 1$. However, given my data, what I actually get is an oscillating fitting procedure, depending on the variable scale. Naturally, this depends on how $Y$ relates to $x$ but I would like to ask whether there could be a general way of fitting such parameters, solely based on the expectation approximation, and guarantee relatively fast convergence. Any ideas?

Edit: The random variable $Y$ is actually a function of a position $j$ as well (horizontal axis). In fact, at each position $j$, the expected value should be given by $$ E[Y_j]\simeq \alpha x_j^{-\beta} $$ I do not think this should matter for the answer, as each expectation is independent of other $j$'s, and the plot merely served a visualisation purpose. However, I should have made it clear from the beginning. Hope this is clear now.

1

There are 1 best solutions below

0
On

Your Question

To make sure I have understood your question correctly, I summarize first what you know and what you want to find out.

  1. You have a family of random variables $Y_x$ indexed by $x$ and a known quantity $\eta$ such that $\eta = E[Y_{x_0}]$ for a certain $x_0.$
  2. But you do not know for which $x_0$ the equation $\eta = E[Y_{x_0}]$ holds, and this $x_0$ is what you are trying to find.
  3. You can choose points $x_j$ and perform simulations which provide estimates $\hat{E}[Y_{x_j}]$ for the true mean $E[Y_{x_j}]$ as a whole. You cannot simulate single observations of $Y_{x_j}.$
  4. You know (or assume) that $E[Y_x]$ can be approximated by the function $\alpha x^{-\beta}$ where $\alpha$ and $\beta$ are known.
  5. Your iteration scheme based on the parametric approximation does not converge.

Suggestion for solution

From what you provide, it is hard to say what goes wrong, possible reasons may be:

  1. A bug in your programming.
  2. The estimates $\hat{E}[Y_{x_j}]$ are too noisy.
  3. The parametric approximation is not precise enough.

So I suggest you try something simple, the bisection method to find the root of $f(x) = \hat{E}[Y_{x}] - \eta$. Use your approximation (only) to determine the initial two points larger and smaller than zero, and then bisect the intervals as described in the Wikipedia article. You have not mentioned whether you know the variance of the estimate for $\hat{E}[Y_{x_j}]$ or whether you have control over it. The precision for $x_0$ is limited by the variance in $\hat{E}[Y_{x_j}]$. So, you have to stop if the variance in the estimate is larger than the difference in function value and, if you can, you may want to decrease the variance in line with the decreasing remaining size of the interval.

Based on your parametric function, you may want to try this also on the log-scale. This means that instead of finding the root of $f$ you find the root of the function $l(x) =\log\hat{E}[Y_{x}] - \log\eta.$ Sometimes this works better since $\log E[Y_x]$ should be (close to) linear.