中創建變量之間的指定相關性(通過排列)我正在尋找一種方法來創建2個變量之間的指定相關性,無論它們的分佈如何,只要允許ordening進行更改。動機與貝葉斯統計有關。在R
想象一下變量a
,它包含100個隨機正常數字,而 變量b
包含數字1 ... 100。
將會有100 factorial
排列成爲可能,並且在-0.95和0.95之間的大多數時間相關性將存在於變量b
的所有可能的排列中。
我在R中寫了一個小腳本,試圖以迭代的方式找到關聯。
迭代通過所有的指標,檢查以前的相關性是否是 比尋求相關更低或更高。
如果相關性太低,它會將屬於索引的數字與屬於隨機索引的數字切換得較低。
如果相關性過高,它會將屬於索引的數字與屬於隨機索引的數字切換得更高。
然後它會檢查新的相關性是否比舊的更好,並保持最接近有用相關性的那個。
它將繼續按順序(從1到100)遍歷所有索引,並且在每次迭代之後,它會檢查它是否在所需的相關性+/-容差內並返回置換變量。
通常在2000左右反覆指定相關將由0.0005公差被發現。在圖片
指數代表迭代。
我的問題是如何以更智能的方式進行這種置換,以便更快地找到相關性。
我想補充一點,如何解決這個問題的一般信息可能已經很有用了......如何更好地理解如何改進查找關聯。 – PascalVKooten 2013-04-29 18:25:36
有可能以某種方式使用根查找嗎? – PascalVKooten 2013-04-29 18:31:06
看看http://en.wikipedia.org/wiki/Simulated_annealing。我會拍攝像這樣的東西,每次迭代都會考慮很多隨機排列,並保留最好的(絕對值最接近您的目標)。總的來說,一些比你的高級描述更隨機一些,也許更向量化的建議。 – flodel 2013-04-29 22:27:12