昨天簡單的寫了寫相似性搜尋的主要方法,這些方法對於學
gis的同學來說,實在是太簡單了,所以很多同學反應:蝦神泥垢了!科普也要有點深度可好,你是在湊字數麼!!
好吧,我覺得上篇文章是有點點問題……我們要向前看,反正已經發出去了,這篇文章就扔那裡吧,作為存檔用。
今天繼續寫相似性搜尋,昨天說了
6種方法,簡單是簡單,但是大道至簡,所有的分析演算法,都是從這些簡單的內容裡面發展來的。不過還缺了一點點沒有說完,就是所謂的匹配方法。
比如怎麼比較兩個數值,認為他們相似?
有的同學說,這還不容易麼,我把資料一排序,越近就越相似了。沒錯,這是主要的方法之一,但是我舉下面乙個例子就可以看出來了:
有這樣乙個寵物體重**:
首先如果不計算,直接利用無敵瞎猜**,憑著直覺,來看看哪兩個相識度高呢?這還用說,當然是兩個皮搋子貓了啊,如下:
其實大家的預感和計算結果是一樣的,但是如果我要研究的並非絕對資料呢,比如,我要研究的月份之間的變化趨勢——這份資料是乙份趨勢資料,屬於動態變化的,從變化的趨勢,可以看出很多內容,比如:寵物餵食量?寵物的
心情?氣候影響……等等等等,所以當我們畫出趨勢變化來之後,變成了如下情況:
第一只傻笑貓和那個比丘龍的體重,響應的上公升和下降趨勢幾乎完全一樣,而第二種閉嘴貓的體重處於直線上公升的狀態(怎麼這麼像蝦神的趨勢呢?),所以不管從趨勢上來看,還是從研究意義上來看,要進行相似性搜尋的話,傻笑貓和比丘龍當之無愧的被歸類到了相似裡面。
上面舉出的這個例子,可以看出,首先感覺是不可靠的(此次應有掌聲)……其次就是不同的研究目的,應該採用不同的分析演算法。
下面我就來介紹一下在
arcgis
裡面,提供的集中不同的相似性搜尋演算法:
一、屬性值相似性搜尋法:
在arcgis
裡面,提供了attribute_values 這樣乙個引數,選擇這個引數進行相似性搜尋的話,會忽略空間關係,直接通過選定的屬性進行計算。計算方法如下:
對於每個候選要素,將從目標要素中減去標準化值(標準化值在
arcgis
裡面,採用平均數),求得平方,然後再將每個結果相加。相加的總和即為該候選要素的相似性指數。所有候選要素經處理後,按照指數從小(最相似)到大(最不相似)的順序對候選要素進行分級。計算過程如下:
(注意:在
arcgis
的幫助文件裡面squaresthe differences翻譯成了:平方差,這是錯誤的,如下:)
但是實際上用的是
差的平方
:即(a-b
)的平方,而非數學上面的平方差(
a的平方
-b的平方)
這裡一定要注意,否則計算的時候會發現你的手動計算出來的結果和最終結果完全不一樣……切記切記。
最後計算過程如下:
計算結束之後,可以看出來,如果僅僅是按照絕對資料進行計算,我們的感覺和結果是一樣的,閉口貓的相似性係數為0.8
,而比丘龍的相似性係數到達
33,相似性係數越小,表現越相似,如果等於
0,就表示他們完全相等。
而前面我說那種關於趨勢變化的相關性,我們在下次繼續。
化合物相似性搜尋 RDKit 化合物相似性搜尋
基於python3和rdkit的化合物結構相似性搜尋 化合物相似性在化學資訊學和藥物發現中具有悠久的歷史,許多計算方法採用相似度測定來鑑定研究的新化合物。本例項通過計算分子的morgan指紋進行相似性比對。匯入依賴包 usr bin env python3 from rdkit.chem impor...
白話空間統計之 空間異質性
橫看成嶺側成峰,遠近高低各不同。不識廬山真面目,只緣身在此山中。蘇軾 題西林壁 讀完這首詩,我首先檢討一下自己,我一直誤記這首詩是李白寫的,因為總記得李白寫過有關廬山的,但是仔細一想,李白寫的 飛流直下三千尺,疑是銀河落九天 和我一樣記錯的同學,請一同檢討。看完這首詩,我覺得大家在看看題目,就應該知...
文字相似性熱度統計 python版
節後第一篇,疫情還沒結束,黎明前的黑暗,中國加油,武漢加油,看了很多報道,發現只有中國人才會幫助中國人,誰說中國人一盤散沙?也許是年齡大了,看到全國各地的醫務人員源源不斷的告別家人去支援湖北,看到醫務人員 肺炎病人的故事,總會忍不住落淚,中國加油,中國人加油!背景不寫了,只談技術,做的是文字相似性統...