Paket perangkat lunak untuk deteksi motif jaringan dapat mengembalikan skor Z yang sangat tinggi (nilai tertinggi yang pernah saya lihat adalah 600.000+, tetapi skor Z lebih dari 100 cukup umum). Saya berencana untuk menunjukkan bahwa skor-Z ini palsu.
Skor Z besar sesuai dengan probabilitas terkait yang sangat rendah. Nilai-nilai probabilitas terkait diberikan pada misalnya halaman wikipedia distribusi normal (dan mungkin setiap buku teks statistik) untuk skor-Z hingga 6. Jadi ...
Pertanyaan : Bagaimana cara menghitung fungsi kesalahan untuk n hingga 1.000.000, katakan?
Saya terutama setelah paket yang sudah diterapkan untuk ini (jika mungkin). Yang terbaik yang saya temukan sejauh ini adalah WolframAlpha, yang berhasil menghitungnya untuk n = 150 (di sini ).
sumber
Jawaban:
Pertanyaannya menyangkut fungsi kesalahan komplementer
untuk nilai "besar" ( = n / √x dalam pertanyaan asli) - yaitu, antara 100 dan 700.000 atau lebih. (Dalam praktiknya, nilai apa pun yang lebih besar dari sekitar 6 harus dianggap "besar," seperti yang akan kita lihat.) Perhatikan bahwa karena ini akan digunakan untuk menghitung nilai-p, ada sedikit nilai dalam memperoleh lebih dari tiga digit signifikan (desimal) .=n/2–√
Untuk memulai, pertimbangkan perkiraan yang disarankan oleh @Iterator,
dimana
Meskipun ini merupakan perkiraan yang sangat baik untuk fungsi kesalahan itu sendiri, ini merupakan perkiraan yang mengerikan untuk . Namun, ada cara untuk memperbaikinya secara sistematis.erfc
Untuk nilai-p yang terkait dengan nilai sedemikian besar , kami tertarik pada kesalahan relatif f ( x ) / erfc ( x ) - 1 : kami berharap nilai absolutnya akan kurang dari 0,001 untuk tiga digit presisi yang signifikan. Sayangnya ungkapan ini sulit dipelajari untuk x besarx f(x)/erfc(x)−1 x karena arus bawah dalam perhitungan presisi ganda. Berikut adalah satu upaya, yang menggambarkan kesalahan relatif versus untuk 0 ≤ x ≤ 5.8 :x 0≤x≤5.8
Perhitungan menjadi tidak stabil setelah melebihi 5,3 atau lebih dan tidak dapat memberikan satu digit signifikan melewati 5,8. Ini tidak mengherankan: exp ( - 5.8x mendorong batas-batas aritmatika presisi ganda. Karena tidak ada bukti bahwa kesalahan relatif akan menjadi kecil untuk x yang lebih besar, kita perlu melakukan yang lebih baik.exp(−5.82)≈10−14.6 x
Melakukan perhitungan dalam aritmatika diperpanjang (dengan Mathematica ) meningkatkan gambaran kita tentang apa yang terjadi:
Kesalahan meningkat dengan cepat dengan dan tidak menunjukkan tanda-tanda leveling off. Melewati x = 10 atau lebih, perkiraan ini bahkan tidak memberikan satu digit informasi yang dapat diandalkan!x x=10
Namun, alurnya mulai terlihat linier. Kami mungkin menduga bahwa kesalahan relatif berbanding lurus dengan . (Ini masuk akal dengan alasan teoritis: erfc secara nyata merupakan fungsi yang ganjil dan f adalah bahkan secara nyata, sehingga rasio mereka seharusnya merupakan fungsi yang ganjil. Dengan demikian kita akan mengharapkan kesalahan relatif, jika meningkat, untuk berperilaku seperti kekuatan aneh x .) Ini menuntun kita untuk mempelajari kesalahan relatif dibagi x . Setara, saya memilih untuk memeriksa x ⋅ erfc ( x ) / f ( x )x erfc f x x x⋅erfc(x)/f(x) , karena harapannya adalah ini harus memiliki nilai pembatas yang konstan. Ini grafiknya:
Dugaan kami tampaknya terbukti: rasio ini tampaknya mendekati batas sekitar 8 atau lebih. Ketika ditanya, Mathematica akan menyediakannya:
Nilainya adalah . Ini memungkinkan kami untuk meningkatkan taksiran:kami ambila1=2π√e3(−4+π)28(−3+π)≈7.94325
sebagai penyempurnaan pertama aproksimasi. Ketika benar-benar besar - lebih besar dari beberapa ribu - perkiraan ini baik-baik saja. Karena itu masih tidak akan cukup baik untuk berbagai argumen yang menarik antara 5,3 dan 2000 atau lebih, mari kita beralih prosedur. Kali ini, kesalahan relatif terbalik - khususnya, ekspresi 1 - erfc ( x ) / f 1 ( x ) - harus berperilaku seperti 1 / x 2 untuk x besar (berdasarkan pertimbangan paritas sebelumnya). Dengan demikian, kita kalikan dengan x 2x 5.3 2000 1−erfc(x)/f1(x) 1/x2 x x2 dan temukan batas selanjutnya:
Nilainya adalah
Proses ini dapat berlangsung selama yang kita mau. Saya mengambilnya satu langkah lagi, menemukan
dengan nilai sekitar 1623.67. (Ekspresi penuh melibatkan fungsi rasional tingkat delapan dari dan terlalu lama untuk berguna di sini.)π
Mengurai operasi ini menghasilkan perkiraan akhir kami
Kesalahan sebanding dengan . Impor adalah konstanta proporsionalitas, jadi kami memplot x 6 ( 1 - erfc ( x ) / f 3 ( x ) ) :x−6 x6(1−erfc(x)/f3(x))
Dengan cepat mendekati nilai pembatas sekitar 2660.59. Dengan menggunakan perkiraan , kami memperoleh estimasi erfc ( x ) yang akurasi relatifnya lebih baik dari 2661 / x 6 untuk semua x > 0 . Setelah x melebihi 20 atau lebih, kita memiliki tiga digit signifikan (atau lebih, karena x semakin besar). Sebagai tanda centang, berikut adalah tabel yang membandingkan nilai yang benar dengan perkiraan untuk x antara 10 dan 20f3 erfc(x) 2661/x6 x>0 x x x 10 20 :
Bahkan, perkiraan ini memberikan setidaknya dua angka presisi yang signifikan untuk pada, yang hanya tentang di mana perhitungan pejalan kaki (sepertifungsiExcel) peter out.x=8
NormSDist
Akhirnya, orang mungkin khawatir tentang kemampuan kita untuk menghitung perkiraan awal . Namun, itu tidak sulit: ketika x cukup besar untuk menyebabkan arus bawah dalam eksponensial, akar kuadrat diperkirakan hampir separuh eksponensial,f x
Hasil yang eksponensial
sumber
Batas atas yang sederhana
Sebuah gambar
Seberapa baik itu?
Bahkan, bentuk batas yang sederhana memberikan pemeriksaan yang baik pada "perkiraan" lainnya. Jika, dalam perhitungan numerik perkiraan yang lebih rumit, kita mendapatkan nilai di luar batas ini, kita bisa "mengoreksi" itu untuk mengambil nilai, misalnya, batas atas yang disediakan di sini.
Akhirnya, inilah pertanyaan dan jawaban yang agak terkait.
sumber
Anda dapat memperkirakannya dengan fungsi yang lebih sederhana - lihat bagian Wikipedia ini untuk informasi lebih lanjut. Perkiraan dasarnya adalah ituerf (x)≈ sgn (x) 1 - exp( - x24 / π+ a x21 + a x2----------------√)
Artikel memiliki tautan yang salah untuk bagian itu. Referensi PDF dapat ditemukan dalam file Sergei Winitzki - atau di tautan ini .
sumber