Sas'ta bulanık eşleştirme nasıl gerçekleştirilir (örnekle)


Çoğu zaman, kusurlu şekilde eşleşen dizelere dayalı olarak SAS’ta iki veri kümesini birleştirmek isteyebilirsiniz.

Buna genellikle bulanık eşleştirme denir.

SAS’ta bulanık eşleştirmeyi gerçekleştirmenin en kolay yolu, SOUNDEX işlevini COMPGED işleviyle birlikte kullanmaktır.

Bu iki işlev, dizeler arasındaki benzerliği ölçmek için kullanılır ve benzer dizeleri “eşleştirmek” için kullanılabilir.

Aşağıdaki örnek, SAS’ta bulanık eşleştirme gerçekleştirmek için bu işlevlerin nasıl kullanılacağını gösterir.

Örnek: SAS’ta bulanık eşleştirme nasıl gerçekleştirilir?

SAS’ta çeşitli basketbolcuların takım adları ve puanları hakkında bilgi içeren aşağıdaki veri kümesine sahip olduğumuzu varsayalım:

 /*create first dataset*/     
data data1;
  input team $points;
  datalines ;
Mavs 19
Nets 22
Kings 34
Warriors 19
Magic 32   
;
run ;
/*view dataset*/
proc print data =data1; 

Çeşitli basketbolcuların takım adlarını ve asistlerini içeren başka bir veri setimiz olduğunu varsayalım:

 /*create second dataset*/     
data data2;
  input team $assists;
  datalines ;
Netts 8
Majick 7
Keengs 8
Warriors 12
Mavs 4    
;
run ;
/*view dataset*/
proc print data =data2; 

Bu veri kümesindeki birçok takım adının önceki veri kümesindeki takım adlarına benzer ancak tam olarak aynı olmadığını unutmayın.

Bulanık bir eşleşme gerçekleştirmek ve bu iki veri kümesini benzer takım adlarına göre bir araya getirmek için SAS’ta aşağıdaki sözdizimini kullanabiliriz:

 /*use fuzzy matching to merge datasets based on similar team names*/
data data3;                                       
  setdata1 ;
  tmp1= soundex (team); /*encode team names from data1 */
  do i=1 to nobs;     
    set data2( rename =(team=team2)) point =i nobs =nobs;        
    tmp2= soundex (team2); /*encode team names from data2* /
    dif= compged (tmp1,tmp2); /*determine similarity between team names */
    if dif<=50 then do ;
      drop i tmp1 tmp2 dif; /*dr op unnecessary variables*/
      output ;
    end ;
  end ;
run ;

/*view resulting dataset*/
proc print data=data3; 

SAS'ta bulanık eşleştirme örneği

SOUNDEX ve COMPGED işlevleri, benzerliklerine göre takım adlarını eşleştirebilir ve iki veri kümesini birleştiren son bir veri kümesi oluşturabilir.

Ek kaynaklar

Aşağıdaki eğitimlerde SAS’ta diğer ortak görevlerin nasıl gerçekleştirileceği açıklanmaktadır:

SAS: Bire çok birleştirme nasıl gerçekleştirilir?
SAS: Birleştirme ifadesinde (in=a) nasıl kullanılır?
SAS: A, B değilse nasıl birleştirilir?

Yorum ekle

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir