如何反转具有多个输入的函数的估计值,但仅反转单个输入的函数
How to invert the estimate of a function with multiple inputs, but only invert the function for a single input
我正在尝试反转一个函数,就像反转经验 cdf 一样。如果我想反转经验 cdf,我会写类似
tau = 0.8
y=rnorm(1000,1)
[f,x]=ecdf(y)
q = interp1(f,x,tau,'next');
相反,假设我定义了一个具有多个输入的函数,其中除最后一个输入外的所有输入都基于数据。例如,
example_data= example_data_missingdatacdf(x1,x2,x3,scalar_delta)
我想找到 delta 的最小值使得
example_data_missingdatacdf(x1,x2,x3,scalar_delta)>= tau
我能做什么?提前感谢您的帮助。
您会找到 example_data_missingdatacdf(x1,x2,x3,scalar_delta) - tau = 0
的 scalar_delta
的值。假设函数单调递增,这是满足你要求的最小值。
有标准的数值技术可以找到函数的过零点。 MATLAB 在 fzero
.
中实现了这种技术
这就是您的使用方式:
fun = @(d) example_data_missingdatacdf(x1,x2,x3,d) - tau;
scalar_delta = fzero(fun, 0);
0 是算法的起点,您最好的猜测。鉴于该函数是单调的,猜得好并不重要,您总会找到唯一的零。但是猜的好会让算法收敛的更快
我正在尝试反转一个函数,就像反转经验 cdf 一样。如果我想反转经验 cdf,我会写类似
tau = 0.8
y=rnorm(1000,1)
[f,x]=ecdf(y)
q = interp1(f,x,tau,'next');
相反,假设我定义了一个具有多个输入的函数,其中除最后一个输入外的所有输入都基于数据。例如,
example_data= example_data_missingdatacdf(x1,x2,x3,scalar_delta)
我想找到 delta 的最小值使得
example_data_missingdatacdf(x1,x2,x3,scalar_delta)>= tau
我能做什么?提前感谢您的帮助。
您会找到 example_data_missingdatacdf(x1,x2,x3,scalar_delta) - tau = 0
的 scalar_delta
的值。假设函数单调递增,这是满足你要求的最小值。
有标准的数值技术可以找到函数的过零点。 MATLAB 在 fzero
.
这就是您的使用方式:
fun = @(d) example_data_missingdatacdf(x1,x2,x3,d) - tau;
scalar_delta = fzero(fun, 0);
0 是算法的起点,您最好的猜测。鉴于该函数是单调的,猜得好并不重要,您总会找到唯一的零。但是猜的好会让算法收敛的更快