Câu trả lời của tôi là sự khởi đầu của một vụ hack hoàn toàn, nhưng tôi không biết về bất kỳ cách thiết lập nào để làm những gì bạn yêu cầu.
Bước đầu tiên của tôi là xếp hạng thứ tự tập dữ liệu của bạn, bạn có thể tìm vị trí tỷ lệ trong tập dữ liệu của mình và sau đó chuyển đổi nó thành phân phối bình thường, phương pháp này được sử dụng trong Reynolds & Hewitt, 1996. Xem mã R mẫu dưới đây trong PROCMiracle.
Một khi sự phân phối là bình thường, thì vấn đề đã được bật lên - vấn đề điều chỉnh kurtosis nhưng không bị lệch. Một tìm kiếm trên google cho thấy rằng người ta có thể làm theo các quy trình của John & Draper, 1980 để điều chỉnh sự suy yếu nhưng không bị lệch - nhưng tôi không thể sao chép kết quả đó.
Những nỗ lực của tôi để phát triển hàm phân tán / thu hẹp thô lấy giá trị đầu vào (chuẩn hóa) và cộng hoặc trừ một giá trị từ nó tỷ lệ với vị trí của biến trên thang đo thông thường sẽ dẫn đến điều chỉnh đơn điệu, nhưng trong thực tế có xu hướng tạo ra một phân phối lưỡng kim mặc dù một phân phối có giá trị độ lệch và kurtosis mong muốn.
Tôi nhận ra đây không phải là một câu trả lời hoàn chỉnh, nhưng tôi nghĩ nó có thể cung cấp một bước đi đúng hướng.
PROCMiracle <- function(datasource,normalrank="BLOM")
{
switch(normalrank,
"BLOM" = {
rmod <- -3/8
nmod <- 1/4
},
"TUKEY" = {
rmod <- -1/3
nmod <- 1/3
},
"VW" ={
rmod <- 0
nmod <- 1
},
"NONE" = {
rmod <- 0
nmod <- 0
}
)
print("This may be doing something strange with NA values! Beware!")
return(scale(qnorm((rank(datasource)+rmod)/(length(datasource)+nmod))))
}