Tạo bản demo demo Dữ liệu từ dữ liệu thực: ngụy trang mà không làm biến dạng


9

(Tôi không có ý tưởng thực sự về việc gắn thẻ này vì tôi không phải là người thống kê và tôi không biết lĩnh vực này rơi vào lĩnh vực nào. Hãy thoải mái thêm các thẻ phù hợp hơn.)

Tôi làm việc cho một công ty sản xuất phần mềm phân tích dữ liệu và chúng tôi cần một bộ dữ liệu hợp lý để kiểm tra và giới thiệu sản phẩm mới nhất của chúng tôi. Chúng ta không thể lấp đầy cơ sở dữ liệu bằng đầu ra của trình tạo số ngẫu nhiên vì các đầu ra của chương trình sẽ trở nên vô nghĩa. Một trong những cách đơn giản nhất để có được dữ liệu đó là từ khách hàng; chúng tôi có một khối lượng lớn dữ liệu từ một thử nghiệm mà chúng tôi đã chạy. Bây giờ, rõ ràng chúng tôi không thể xuất bản dữ liệu thực tế của khách hàng, vì vậy chúng tôi cần thay đổi nó một chút, nhưng chúng tôi vẫn cần nó để hoạt động như dữ liệu thực.

Mục đích ở đây là lấy bộ dữ liệu của họ và áp dụng "fuzz" cho nó để nó không thể được công nhận là cụ thể của họ. Trí nhớ của tôi về lý thuyết thống kê tự nó hơi mờ, vì vậy tôi muốn chạy nó bởi các bạn:

Về cơ bản, dữ liệu chúng tôi có (từ khách hàng) tự nó là một mẫu của tất cả các dữ liệu tồn tại (trong nước hoặc trên thế giới). Điều tôi muốn biết là loại hoạt động nào có thể được áp dụng để làm cho mẫu không còn đại diện mạnh mẽ cho dân số mẫu của khách hàng, trong khi vẫn giữ cho nó đại diện đại diện cho dân số thế giới.

Để tham khảo, theo như chúng tôi biết, dữ liệu chúng tôi thường tuân theo các phân phối bình thường (Gaussian) thô.

Bộ dữ liệu ban đầu không có sẵn rộng rãi, nhưng về mặt lý thuyết có thể được nhận ra từ một số đặc điểm cụ thể theo vùng (chúng tôi không biết những đặc điểm đó là gì và không biết có ai làm ở mức đủ không, nhưng chúng tôi biết rằng các biến thể tồn tại từ nơi đến nơi). Dù sao, tôi quan tâm đến lý thuyết này hơn là thực tiễn - Tôi muốn biết liệu một thao tác có thể không xác định được (hoặc ít nhất là khó khăn) để xác định tập dữ liệu nguồn theo tham số X hay không, có ai có hoặc có thể làm việc không tham số X ở vị trí đầu tiên.

Cách tiếp cận mà tôi đã đưa ra là tách các bài đọc thành nhiều loại khác nhau, (không cần đưa ra nhiều, giả sử một nhóm có thể là "độ dài" hoặc "thời gian thực hiện X".) Đối với mỗi loại, hãy tính độ lệch chuẩn. Sau đó, với mỗi giá trị, thêm một giá trị ngẫu nhiên giữa giá trị dương và âm của (n * stddev) trong đó n là một số phân số mà tôi có thể sử dụng để điều chỉnh kết quả cho đến khi dữ liệu đủ "mờ". Tôi không muốn đơn giản áp dụng một phạm vi tĩnh (giả sử, ngẫu nhiên giữa 90% và 110% giá trị ban đầu) bởi vì một số giá trị thay đổi nhiều hơn hoặc ít hơn các giá trị khác - trong một số phép đo, trung bình là 10% , nhưng ở những người khác, nó làm cho bạn trở thành một ngoại lệ nghiêm trọng.

Điều này có đủ để che giấu nguồn dữ liệu gốc? Nếu không, bằng các biện pháp thống kê nào thì dữ liệu vẫn có thể được xác định và làm cách nào để che giấu những dữ liệu đó trong khi vẫn giữ dữ liệu kết quả mơ hồ?


3
Trong một bình luận gần đây cho một câu hỏi liên quan , tôi đã cung cấp các liên kết đến một số tài liệu khảo sát về chủ đề này có sẵn trực tuyến. Các liên kết tập trung vào việc ngụy trang dữ liệu Điều tra dân số, nhưng nhiều người trong số họ giải quyết các câu hỏi về dữ liệu ngụy trang nói chung.
whuber

Có thể là khôn ngoan để chỉ ra rằng tôi không phải là một nhà thống kê hoặc thậm chí là một nhà toán học. Tôi là một lập trình viên thương mại, vì vậy tôi có thể xử lý các giải thích thuật toán nhưng đại số kỳ quặc biến bộ não của tôi thành putty. Ngoài ra, điều này không cần phải đặc biệt nghiêm ngặt; các cuộc biểu tình mà dữ liệu này sẽ được sử dụng thường là các bài thuyết trình - mười hoặc hai mươi phút của một trong những đại diện của chúng tôi chọc vào phần mềm. Nếu bất cứ ai được phép dùng thử phần mềm trong bất kỳ thời gian dài nào, họ sẽ bắt đầu bằng cách đưa dữ liệu của riêng họ vào đó - họ sẽ không thực sự xem xét kỹ lưỡng dữ liệu demo.
anaximander

2
Tôi muốn đề nghị thuê một nhà thống kê đã làm điều này trước đây. Đừng biến điều này thành cuộc đua đầu tiên của bạn. Bạn không muốn gặp khó khăn khi làm một công việc tồi tệ lúc này, phải không? Xem arstechnica.com/tech-policy/2009/09/ từ
David J.

Câu trả lời:


2

Có một số gợi ý:

  1. Chuyển đổi nó thành dạng không thứ nguyên. Nếu nó đi từ 0 đến 1 và không có các đơn vị như furlongs mỗi hai tuần hoặc hàng tấn than kèm theo thì khó nhận ra hơn.
  2. Thêm một số ngẫu nhiên nhỏ vào nó. Khi bạn kết hợp một gaussian với một gaussian, bạn chỉ cần lấy một gaussian khác. Nó không thay đổi bản chất của nó, nhưng việc chuyển từ các giá trị chính xác sẽ khiến ai đó googling số để thử và tìm ra nó là gì.
  3. Tôi thích ý tưởng xoay nó. Bạn có thể mất một số bước thời gian để tạo tập dữ liệu 2d từ tập dữ liệu 1d. Sau đó, bạn có thể sử dụng PCA hoặc SVD (sau khi định tâm và chia tỷ lệ) để xác định xoay. Sau khi dữ liệu được xoay một cách thích hợp, bạn đã thay đổi phương sai và tự xáo trộn thông tin. Bạn có thể báo cáo một trong các trục tọa độ xoay là "dữ liệu mẫu".
  4. Bạn có thể trộn nó với dữ liệu được hình thành mạnh mẽ từ một số nguồn khác. Vì vậy, nếu dữ liệu mẫu của bạn là dữ liệu thị trường chứng khoán, bạn có thể thêm nhiễu loạn dựa trên thời tiết hoặc dựa trên các biến thể từ trung bình cao độ từ nhạc nền yêu thích của The Beatles. Cho dù mọi người có thể hiểu về Nasdaq hay không, họ sẽ gặp khó khăn khi hiểu về Nasdaq + Beatles.

1

Tôi sẽ đề nghị một cách tiếp cận hai bước. Bước đầu tiên sẽ là lấy mẫu với sự thay thế - tương tự như phương pháp được sử dụng trong bootstrapping. Trong R, bạn có thể sử dụng

 newdata = sample(olddata, replace = TRUE)

Bây giờ bạn có một bộ dữ liệu khác với các thuộc tính giống như bản gốc. Bước thứ hai sẽ là thêm một biến ngẫu nhiên tập trung vào khoảng 0:

 newdata = newdata + runif(1, min = -10, max = 10)

Bất kỳ biến ngẫu nhiên nào đối xứng quanh 0 sẽ hoạt động và giới hạn phân phối không quan trọng.

Cuối cùng, bạn nên có một bộ dữ liệu hoàn toàn khác với các thuộc tính giống như bộ dữ liệu cũ.


1
Bạn có ý nghĩa gì "với cùng một tính chất"? Ít nhất, phương sai và hiệp phương sai sẽ khác nhau. Nếu bạn quan tâm đến mối quan hệ giữa các biến, điều đó thực sự quan trọng.
Charlie
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.