我正在嘗試反轉一個函式,就像反轉經驗 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
我能做些什么?感謝您提前提供任何幫助。
uj5u.com熱心網友回復:
您會找到scalar_deltawhich的值example_data_missingdatacdf(x1,x2,x3,scalar_delta) - tau = 0。假設函式單調遞增,這是滿足您要求的最小值。
有一些標準的數值技術可以找到函式的零交叉點。MATLAB 在fzero.
這是你將如何使用它:
fun = @(d) example_data_missingdatacdf(x1,x2,x3,d) - tau;
scalar_delta = fzero(fun, 0);
0 是演算法的起點,你最好的猜測。鑒于該函式是單調的,有一個好的猜測并不重要,你總是會找到唯一的零。但是一個好的猜測會使演算法收斂得更快。
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/453941.html
上一篇:串列中10的倍數
