Phương sai của phân phối dữ liệu phân loại đa cấp


8

Tôi hiện đang phân tích các tập dữ liệu lớn với các đặc điểm khác nhau (như thành phố). Tôi muốn tìm một thước đo về cơ bản có thể nói có bao nhiêu hoặc ít phương sai trong dữ liệu. Điều này sẽ hữu ích hơn nhiều so với việc đơn giản là đếm số lượng các yếu tố riêng biệt.

Ví dụ: xem xét các dữ liệu sau:

City
----
Moscow
Moscow
Paris
London
London
London
NYC
NYC
NYC
NYC

Tôi có thể thấy rằng có 4 thành phố riêng biệt, nhưng điều đó không cho tôi biết có bao nhiêu phân phối. Một 'công thức' tôi nghĩ ra là lấy tổng các phân số của tổng số liệu cho mỗi phần tử. Trong trường hợp này, nó sẽ được (2/10)^2 + (1/10)^2 + (3/10)^2 + (4/10)^2. Tôi không có bằng chứng toán học thực sự cho điều này, nhưng chỉ nghĩ về nó.

Trong trường hợp này, ví dụ, trong một tập hợp có 10 phần tử, nếu 9 là như nhau và 1 là khác nhau, thì số đó sẽ là (9/10)^2 + (1/10)^2. Tuy nhiên, nếu nó là một nửa và một nửa, nó sẽ được (5/10)^2 + (5/10)^2.

Tôi muốn có ý kiến ​​về những công thức và lĩnh vực nghiên cứu tương tự. Tôi thực sự không thể tìm thấy bất cứ điều gì với một vài tìm kiếm nhanh trên Google.

Câu trả lời:


10

Tôi nghĩ những gì bạn có thể muốn là entropy (của Shannon) . Nó được tính như thế này: Điều này thể hiện cách suy nghĩ về lượng thông tin trong một biến phân loại.

H(x)= =-ΣxTôip(xTôi)đăng nhập2p(xTôi)

Trong R, chúng ta có thể tính toán điều này như sau:

City = c("Moscow", "Moscow", "Paris", "London", "London", 
         "London", "NYC", "NYC", "NYC", "NYC")
table(City)
# City
# London Moscow    NYC  Paris 
#      3      2      4      1 
entropy = function(cat.vect){
  px  = table(cat.vect)/length(cat.vect)
  lpx = log(px, base=2)
  ent = -sum(px*lpx)
  return(ent)
}
entropy(City)                                             # [1] 1.846439
entropy(rep(City, 10))                                    # [1] 1.846439
entropy(c(    "Moscow",       "NYC"))                     # [1] 1
entropy(c(    "Moscow",       "NYC", "Paris", "London"))  # [1] 2
entropy(rep(  "Moscow", 100))                             # [1] 0
entropy(c(rep("Moscow",   9), "NYC"))                     # [1] 0.4689956
entropy(c(rep("Moscow",  99), "NYC"))                     # [1] 0.08079314
entropy(c(rep("Moscow",  97), "NYC", "Paris", "London"))  # [1] 0.2419407

Từ đó, chúng ta có thể thấy rằng độ dài của vectơ không thành vấn đề. Số lượng tùy chọn có thể ('cấp độ' của một biến phân loại) làm cho nó tăng lên. Nếu chỉ có một khả năng, giá trị là (thấp nhất có thể). Giá trị là lớn nhất, đối với bất kỳ số khả năng nhất định khi xác suất bằng nhau. 0

Về mặt kỹ thuật, với nhiều tùy chọn khả thi hơn, cần nhiều thông tin hơn để biểu diễn biến trong khi giảm thiểu lỗi. Chỉ với một lựa chọn, không có thông tin trong biến của bạn. Ngay cả với nhiều tùy chọn hơn, nhưng trong đó hầu hết tất cả các trường hợp thực tế là một mức cụ thể, có rất ít thông tin; sau tất cả, bạn chỉ có thể đoán "Moscow" và gần như luôn luôn đúng.

your.metric = function(cat.vect){
  px   = table(cat.vect)/length(cat.vect)
  spx2 = sum(px^2)
  return(spx2)
}
your.metric(City)                                             # [1] 0.3
your.metric(rep(City, 10))                                    # [1] 0.3
your.metric(c(    "Moscow",       "NYC"))                     # [1] 0.5
your.metric(c(    "Moscow",       "NYC", "Paris", "London"))  # [1] 0.25
your.metric(rep(  "Moscow", 100))                             # [1] 1
your.metric(c(rep("Moscow",   9), "NYC"))                     # [1] 0.82
your.metric(c(rep("Moscow",  99), "NYC"))                     # [1] 0.9802
your.metric(c(rep("Moscow",  97), "NYC", "Paris", "London"))  # [1] 0.9412

Số liệu đề xuất của bạn là tổng xác suất bình phương. Trong một số cách, nó hoạt động tương tự (ví dụ, lưu ý rằng nó bất biến theo chiều dài của biến), nhưng lưu ý rằng nó giảm khi số cấp tăng hoặc khi biến trở nên mất cân bằng hơn. Nó di chuyển ngược lại với entropy, nhưng kích thước đơn vị của các mức tăng khác nhau. Số liệu của bạn sẽ bị ràng buộc bởi01, trong khi entropy dao động từ 0đến vô cùng. Đây là một âm mưu của mối quan hệ của họ:

nhập mô tả hình ảnh ở đây


3
Entropy như bạn định nghĩa nó bị giới hạn S loại theo đăng nhập2S. Thông suốtScó thể phát triển lớn như một người thích nhưng trong hầu hết các vấn đề thuộc loại này, nó nhỏ hoặc vừa phải và entropy là hữu hạn.
Nick Cox

9

Tổng bình phương của các phân số (để cho văn bản của bạn phù hợp với số học của bạn) thực sự là một thước đo được phát hiện lại hoặc phát minh lại nhiều về nồng độ phân phối được chia thành các loại khác nhau. Bây giờ ít nhất là trong thế kỷ thứ hai của nó, cho phép một chút vĩ độ bao gồm dưới cùng một chiếc ô bổ sung và đối ứng của nó: cả ba phiên bản đều có cách hiểu và sử dụng dễ dàng. Có (đoán mò) có lẽ hai mươi tên khác nhau cho nó được sử dụng phổ biến. Hãy viết một cách khái quátp cho tỷ lệ hoặc xác suất, trong trường hợp cần thiết 1pS0ΣS= =1SpS1.

Biện pháp của bạn là ΣS= =1SpS2=:R. Ít nhất là đối với các nhà sinh học, chỉ sốS= =1,Giáo dục,Slà ghi nhớ cho các loài. Sau đó, số tiền đó dành cho các nhà sinh thái học chỉ số Simpson (sau EH Simpson, 1922-2019, người được đặt tên cho nghịch lý của Simpson); đối với các nhà kinh tế, đó là chỉ số Herfindahl-Hirschman; và như thế. Nó có một lịch sử lâu dài về mật mã, thường bị che giấu trong nhiều thập kỷ bởi việc sử dụng nó trong các vấn đề được phân loại, nhưng nổi tiếng nhất là AM Turing. IJ Good (người thích Simpson làm việc với Turing trong Thế chiến II) gọi đó là tỷ lệ lặp lại, thúc đẩy biểu tượngRở trên; Đối với DJC MacKay, đó là xác suất phù hợp.

Giả sử chúng ta xếp hạng tỷ lệ p1pS. Sau đó ở một thái cựcp1 phát triển thành 1 và điều khác pS thu nhỏ lại 0 và sau đó R= =1. Một cực đoan khác là xác suất bằng nhau1/S vậy nên R= =S(1/S2)= =1/S. Hai giới hạn tự nhiên trùng khớp với nhauS= =1. Vì vậy cho2,10,100 loài R0,5,0,1,0,01 tương ứng.

Phần bổ sung 1-Rlà một trong những biện pháp không đồng nhất khác nhau được Corrado Gini sử dụng, nhưng hãy cẩn thận khi quá tải nghiêm trọng các thuật ngữ trong các tài liệu khác nhau: thuật ngữ chỉ số hoặc hệ số Gini đã được áp dụng cho một số biện pháp khác biệt. Nó có tính năng trong học máy như là một thước đo của sự phân loại; ngược lạiRbiện pháp tinh khiết. Các nhà sinh thái học thường nói về sự đa dạng:R đo lường sự đa dạng nghịch đảo và 1-Rđo trực tiếp. Đối với các nhà di truyền học1-R là dị hợp tử.

Sự đối ứng 1/Rcó cách hiểu 'số tương đương'. Hãy tưởng tượng như trên bất kỳ trường hợp nào trong đóS các loài là phổ biến như nhau với mỗi pS= =1/S. Sau đó1/R= =1/ΣS= =1S(1/S)2= =S. Băng cach mở rộng 1/R đo lường một số lượng tương đương của các loại phổ biến như nhau, ví dụ như bình phương của 1/6,2/6,3/6 đưa cho 1/R2,57 phù hợp với một trực giác rằng phân phối nằm giữa 2/6,2/6,2/63/6,3/6,0 trong tập trung hoặc đa dạng.

(Các số tương đương với entropy của Shannon H chỉ là antimonarithm của nó, nói 2H,điểm kinh nghiệm(H) hoặc là 10H cho các căn cứ 2,e= =điểm kinh nghiệm(1)10 tương ứng.)

Có nhiều khái quát khác nhau của entropy làm cho biện pháp này trở thành một trong một gia đình rộng lớn hơn; một cái đơn giản được đưa ra bởi IJ Good định nghĩa các menagerieΣSpSmột [ln(1/pS)]b từ đó một= =2,b= =0 đưa ra biện pháp của chúng tôi; một= =1,b= =1 là entropy Shannon; một= =0;b= =0 trả lại S, số lượng loài hiện tại, đó là phép đo đa dạng đơn giản nhất có thể và một loài có nhiều giá trị.


Wow, dường như có rất nhiều điều này. Nó không phải là lĩnh vực của tôi, vì vậy tôi chỉ quen thuộc với nó, mặc dù tôi nhớ là đã nghe về một số tên này. Thế nào làStính toán? Có phải luôn luôn1/R, hoặc chỉ khi các loài được trang bị?
gung - Phục hồi Monica

Schỉ là có bao nhiêu loài hiện diện. Đôi khi bạn chấp nhận một phân loại (ví dụ như nam và nữ, vì vậyS= =2) do đó được xác định trước để thu thập dữ liệu, ngoại trừ trong ví dụ này, các sơ đồ khác cũng có thể. Đôi khi, có bao nhiêu loài hiện diện; hãy tưởng tượng bạn là một nhà thực vật học hoặc nhà nghiên cứu chim ưng đang tìm kiếm các loài cây hoặc chim. Đương nhiên thuật ngữ loài là chung chung (chơi chữ sinh học yếu); trong kinh tế có thể là các lĩnh vực của nền kinh tế, các loại sản phẩm hoặc dịch vụ được giao dịch, v.v. Trong nhân khẩu học, nó có thể là các loại dân tộc, v.v.
Nick Cox

Vì vậy, đối với dữ liệu ví dụ về thành phố, S= =4? Điều đó dường như không tốt bằng một số liệu như những người khác.
gung - Phục hồi Monica

Điều đó đúng trong ví dụ đơn giản. Nhưng giả sử bạn và tôi so sánh có bao nhiêu quốc gia chúng tôi đã đến thăm. Bạn nói 78, tôi nói 23. Đó là thông tin. Và trong ví dụ đó, tôi thực sự không thể tìm hiểu thông tin chính xác về số ngày tôi đã dành cho mỗi ngày. Nhà sinh thái học nói với một nhà sinh thái học khác rằng 78 và 23 loài chim đã được tìm thấy trên hai hòn đảo đang trao đổi dữ liệu hữu ích.
Nick Cox

1

Câu hỏi thú vị ... Nó thực sự phụ thuộc vào những gì bạn muốn làm với số liệu này - nếu bạn chỉ muốn xếp hạng danh sách theo "hầu hết các biến" thì rất nhiều thứ có thể hoạt động. Các số liệu bạn tạo nên có vẻ hợp lý. Tôi sẽ không nói bạn cần "bằng chứng" toán học: bằng chứng về cái gì? Bạn có thể hỏi một câu hỏi như "bộ dữ liệu này có khả năng đến từ một bản phân phối thống nhất không?". Tôi tìm thấy một số lời kêu gọi trực quan trong "xác suất hai lần rút ngẫu nhiên từ danh sách này là bằng nhau là bao nhiêu?". Bạn có thể làm điều đó trong R như vậy:

set.seed(1)
cities <- c("Moscow", "Moscow", "NYC", "London")
# Gives .3525
prob_equal = mean(sample(rep(cities, 100)) == sample(rep(cities, 100)))
citiesTwo <- c(rep("Moscow", 100), rep("NYC", 100)) # Gave .497
citiesTwo <- c(rep("Moscow", 100), rep("NYC", 10)) # Gave .833

Trong đó phần 'trung bình' cung cấp giá trị trung bình của vectơ vài trăm mục ngẫu nhiên như TRUE, TRUE, FALSE, TRUE, FALSE ..., trở thành giá trị trung bình của 1, 1, 0, 1, 0, v.v.

1 trừ đi xác suất đó có thể đưa ra một khái niệm tốt hơn về "phương sai" mặc dù (nghĩa là hai đầu dò ngẫu nhiên là khác nhau, do đó số cao hơn có nghĩa là đa dạng hơn). Một số lượng như vậy có thể được tính toán mà không cần quá nhiều nỗ lực. Có lẽ nó giống P (một lựa chọn ngẫu nhiên là moscow) * P (một giây là moscow) + P (một lựa chọn ngẫu nhiên là NYC) * P (một giây là NYC) + ..., vì vậy tôi nghĩ đó chỉ là tỷ lệ_moscow ^ 2 + ratio_nyc ^ 2, trong thực tế sẽ là những gì bạn nghĩ ra!

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.