উইলসন স্কোর ব্যবধান গণনা করুন


15

উইলসন স্কোর ব্যবধান সাফল্যের সম্ভাবনা একটি গোপন বিরাম, বের্নুলির বিচারের একটি সেট সফলতাগুলি অনুপাত উপর ভিত্তি করে (: একটি বের্নুলির বিচারের একটি যা যথার্থভাবে দুটি ফলাফল সম্ভব ট্রায়াল সাফল্য বা ব্যর্থতা )। ব্যবধানটি নিম্নলিখিত সূত্র দ্বারা দেওয়া হয়:

উইলসন অন্তর

সূত্র দ্বারা প্রদত্ত দুটি মান হ'ল বিরতির উপরের এবং নিম্ন সীমা। n এস এবং এন এফ যথাক্রমে সাফল্য এবং ব্যর্থতার সংখ্যা এবং n হল মোট পরীক্ষার সংখ্যা ( এন এস + এন এফ এর সমতুল্য )। z হ'ল একটি প্যারামিটার যা নির্ভরযোগ্য কাঙ্ক্ষিত স্তরের উপর নির্ভর করে। এই চ্যালেঞ্জের উদ্দেশ্যে, z- র = 1.96 (ক 95% আস্থা ব্যবধান সংশ্লিষ্ট) ব্যবহার করা হবে 1

অ-নেতিবাচক পূর্ণসংখ্যার এন এস এবং এন এফ দেওয়া হয়েছে , উইলসনের স্কোর ব্যবধানের সীমানা নির্ধারণ করুন।

বিধি

  • ভাসমান-পয়েন্ট গাণিতিক ভুলগুলির কারণে কোনও সম্ভাব্য সমস্যা উপেক্ষা করে আপনার ভাষার ভাসমান-বিন্দু বাস্তবায়নের সীমাবদ্ধতার মধ্যে আউটপুটগুলি যথাযথ যথাযথ হওয়া উচিত। আপনার ভাষা যদি স্বেচ্ছাচারিতা-নির্ভুলতা পাটিগণিত করতে সক্ষম হয় তবে এটি অবশ্যই আইইইই 754 ডাবল-স্পষ্টতা পাটিগণিতের মতো কমপক্ষে যথাযথ হওয়া উচিত।
  • ইনপুটগুলি আপনার ভাষার দেশীয় পূর্ণসংখ্যার প্রকারের জন্য উপস্থাপনযোগ্য সীমার মধ্যে থাকবে এবং ফলাফলগুলি আপনার ভাষার নেটিভ ফ্লোটিং-পয়েন্ট টাইপের জন্য উপস্থাপনযোগ্য সীমার মধ্যে থাকবে।
  • n সর্বদা ইতিবাচক থাকবে।
  • আউটপুটগুলির ক্রম কোনও বিষয় নয়।

পরীক্ষার কেস

বিন্যাস: n_s, n_f => lower, upper

0, 1 => 0.0, 0.7934567085261071
1, 0 => 0.20654329147389294, 1.0
1, 1 => 0.09452865480086611, 0.905471345199134
1, 10 => 0.016231752262825982, 0.3773646254862038
10, 1 => 0.6226353745137962, 0.9837682477371741
10, 90 => 0.05522854161313612, 0.1743673043676654
90, 10 => 0.8256326956323345, 0.9447714583868639
25, 75 => 0.17545094003724265, 0.3430464637007583
75, 25 => 0.6569535362992417, 0.8245490599627573
50, 50 => 0.40382982859014716, 0.5961701714098528
0, 100 => 0.0, 0.03699480747600191
100, 0 => 0.9630051925239981, 1.0

  1. zমান 1-α/2আদর্শ স্বাভাবিক বন্টন, যেখানে তম সমাংশক αতাত্পর্য স্তর। আপনি যদি 95% আত্মবিশ্বাসের ব্যবধান চান তবে আপনার তাত্পর্য স্তরটি α=0.05এবং zমানটি 1.96

সম্পর্কিত: পশ্চিম সমস্যা দ্রুততম বন্দুক । আমি এটিকে একটি চ্যালেঞ্জ তৈরি করতে যাচ্ছিলাম তবে আমার ধারণা আপনি এটি আমাকে পরাজিত করেছেন। : /
mbomb007

উত্তর:


6

গণিত, 48 বাইট (UTF-8 এনকোডিং)

({-1,1}√((s=1.4^4)##/+##+s^2/4)+#+s/2)/(s+##)&

ক্রমে দুটি যুক্তি গ্রহণ করে নামহীন ফাংশন n_s, n_f এবং সত্যিকারের সংখ্যার অর্ডারযুক্ত জোড়া ফিরিয়ে দেয়। স্কোয়ার-রুট ফাংশনকে উপস্থাপন করে তিন-বাইট প্রতীকটি হ'ল ইউ -২২১ এ।

সত্য যে পূর্ববর্তী ব্যবহার ##, দুটি আর্গুমেন্ট পণ্যের মধ্যে একটি সংখ্যা ফলাফল যখন +##তাদের যোগফল ফলাফল নেই। এছাড়াও তালিকাগুলিতে পণ্য ও অঙ্কগুলি স্বয়ংক্রিয়ভাবে থ্রেড হয় এমনটি {-1,1}√(...)ব্যবহার করে , যাতে সূত্রে imple প্রয়োগ করে। নিজের s = z^2পরিবর্তে ধ্রুবকটি সংজ্ঞায়িত করে একাধিক বাইটও zসংরক্ষণ করা হয়েছে। (বেশিরভাগ ক্ষেত্রে আমি 1.4^4ঠিক তা লক্ষ্য করে বাইট সংরক্ষণ করে গর্বিত 1.96^2!)


গণিত কি স্বেচ্ছাসেবী এনকোডিংগুলি ব্যবহার করতে পারে? বর্গমূলের প্রতীকটি অনেকগুলি একক-বাইট এনকোডিংগুলিতে 1 বাইট।
মেগো

এটি প্রকৃতপক্ষে অনেকগুলি এনকোডিংগুলি ব্যবহার করতে পারে — উদাহরণস্বরূপ, ম্যাক ওএস রোমান, যার উল্লেখযোগ্য সম্পত্তি রয়েছে। যদিও আমার বোধগম্যতা হল এটি হ'ল আমাকে একটি ডিফল্ট এনকোডিংয়ে স্যুইচ করার জন্য প্রয়োজনীয় বাইটগুলি অন্তর্ভুক্ত করতে হবে যা এই ক্ষেত্রে 2 "নষ্ট" বাইটের চেয়ে বেশি।
গ্রেগ মার্টিন

ওহ, এটির জন্য একটি কমান্ড লাইন সুইচ প্রয়োজন (বা কোনও ফাংশন কল)? স্থূল.
মেগো

4
ম্যাথামেটিকাকে দুর্দান্ত ও স্থূলের এক বিস্ময়কর দশা: ডি
গ্রেগ মার্টিন

3

পার্ল 6 , 66 বাইট

->\s,\f,\z=1.96 {(s+(-z|z)*sqrt(s*f/(s+f)+z*z/4)+z*z/2)/(s+f+z*z)}

এই ফাংশনটি নীচে এবং উপরের সীমানার একটি বা সংযোগ দেয়; উদাহরণস্বরূপ, যদি 100 এবং 0 টি আর্গুমেন্টের সাথে ডাকা হয় তবে এটি ফিরে আসে:

any(0.963005192523998, 1)

স্বল্প বলতে গেলে এটি একটি অপ্রচলিত আউটপুট ফর্ম্যাট, তবে কোনও নির্দিষ্ট বিন্যাস নির্দিষ্ট করা হয়নি এবং প্রয়োজনীয় মান উভয়ই উপস্থিত।


এটা আমার কাছে ভাল লাগছে। নির্দিষ্ট আউটপুট বিন্যাসের অভাব উদ্দেশ্যমূলক ছিল - আউটপুট জন্য একটি নির্দিষ্ট বিন্যাসের প্রয়োজন কিছু ভাষায় সুবিধা দেয় এবং অকারণে চ্যালেঞ্জকে জটিল করে তোলে। যতক্ষণ না উভয় আউটপুট মান কিছু ব্যবহারযোগ্য আকারে উপস্থিত থাকে ততক্ষণ তা গ্রহণযোগ্য।
মেগো

3

05 এ বি 1 ই , 34 বাইট

"1.96"Dn©4/¹P¹O/+t*D()®;+¹0è+®¹O+/

ইনপুট ফর্ম হয় [n_s, n_f]
আউটপুট ফর্মের হয়[upper, lower]

এটি অনলাইন চেষ্টা করুন!

ব্যাখ্যা

"1.96"                             # push 1.96
      Dn©                          # duplicate, square, store a copy in register
         4/                        # divide by 4
           ¹P¹O/                   # product of input divided by sum of input
                +                  # add this to (z^2)/4
                 t*                # sqrt and multiply with z
                   D()             # wrap in list together with a negated copy
                      ®;+          # add (z^2)/2
                         ¹0è+      # add n_s
                             ®¹O+/ # divide by z^2+n

3

রুনিক জাদু , 105 বাইট

#StillBetterThanJava

/:2,:2,i:3s:3s:i:3s*3s+::6s4s,+'qA{*:Z4s3TRr4s{++}\
\p2:,C1Ä'<> yyyyyyyyyyyyyyyyyyy'Ä1C,2p:2,//@S ',+ /

এটি অনলাইন চেষ্টা করুন!

ইনপুট ফর্মের n_s n_f
আউটপুট ফর্মের হয়lower upper এবং এর পিছনে স্থান রয়েছে

হায় আল্লাহ one'sশ্বর এর এক জগাখিচুড়ি। এখানে মোড়কযুক্ত সংস্করণটি:

>'Ä1C,:2p:2,:2,i:3s:3s:i:3s*3s+::6s4s,+'qA{*:Z4s3TRr4s{++}+,' S@
                  > yyyyyyyyyyyyyyyyyyy'Ä1C,2p:2,//

এই সমস্ত yগুলি দ্বিতীয় আইপিটি ধীর করতে হবে যাতে এটি Tসঠিক সময়ে (অর্থাত্ দ্বিতীয়) দ্বিতীয় স্থানান্তর পয়েন্টে আসে । এটি এক পয়েন্টারের শীর্ষে 3 টি আইটেম অন্যটির উপরে সরিয়ে দেয় (এই ক্রিয়াকলাপটির সেটআপটি নীচে চিত্রিত হয়েছে)। চরিত্রটি 196 কে 100 দ্বারা ভাগ করে 'Ä1C,উত্পন্ন zকরে (ডুপ, স্কোয়ার, ডুপ, ডিভ 2, ডুপ, ডিভ 2 ...)। অন্য সমস্ত কিছু হ'ল গণিত এবং স্ট্যাক ম্যানিপুলেশন যা ভবিষ্যতের মানগুলি প্রয়োজন না হওয়া পর্যন্ত এটি সরিয়ে রাখার জন্য। বেশিরভাগ অংশের জন্য, তারা সঠিক ক্রমে শেষ হয় এবং কেবল এটির অবধিr4s{++} আমাদের স্ট্যাকটি বিপরীত করতে হবে এবং একে অপরের পাশে পরের পাশে আমরা যে মানগুলি পেতে চাই তা পেতে পুরো জিনিসটি ঘোরান।

উন্নতির জন্য সম্ভবত জায়গা আছে তবে এটি এত জটিল যে আমি এটি দেখতে পাচ্ছি না। হেক, অসাবধানতায় এক পর্যায়ে মূল সূত্রে "এন" এর পরিবর্তে "জেড" পড়েছিল এবং এটি স্থির করেছিল রুক্ষ ছিল।

এটি সঠিক ছিল তা নিশ্চিত করার জন্য আমাকে নোটকার্ডগুলি বের করে স্ট্যাকগুলি সিমুলেট করতে হয়েছিল:

স্ট্যাক ফানটাইমস

সেখানে কতগুলি ভেরিয়েবল রয়েছে তার কারণে প্রত্যেকেরই উভয় প্রান্তে একটি মান রয়েছে (যেমন, আমার একটি এস এবং একটি এফ এর সাথে ছিলাম, আমি সেগুলি উভয়কেই পপ করব, একটিতে ফ্লিপ করব এবং এস + এফ যোগ করব যা চালু ছিল) স্ট্যাকের শীর্ষে অন্য প্রান্তে)। আপনি দেখতে পাচ্ছেন sqrt(...)কার্ডগুলির মধ্যে একটিতে Sনিম্ন প্রান্তে একটি রয়েছে।


3

আর , 58 53 51 49 41 বাইট

-15 বাইট জে.ডো ধন্যবাদ। -2 বাইট জিউসেপ্পিকে ধন্যবাদ

function(x,y)prop.test(t(c(x,y)),cor=F)$c

1
আর যখন গল্ফিং ভাষার সাথে প্রতিযোগিতামূলক হয় তখন আমি এটি পছন্দ করি ...
জে.ডো



2

এপিএল (ডায়ালগ ইউনিকোড) , 50 বাইট

{(+/⍺⍵z)÷⍨(⍺+z÷2)(-,+).5*⍨z×(⍺×⍵÷⍺+⍵)+4÷⍨z3.8416}

এটি অনলাইন চেষ্টা করুন!

এনগুলিএন

H.PWiz এবং dzaima ধন্যবাদ সাহায্য করার জন্য।

কিভাবে:

                                        z3.8416   Set z=1.96²
                                     4÷⍨           Divide it by 4
                                    +              plus
                           (⍺×⍵÷⍺+⍵)              (nf×nsn
                         z×                        ×z²
                     .5*⍨                          to the power .5 (square root)
                (-,+)                              ±
         (⍺+z÷2)                                   ns+(z²/2)
(+/⍺⍵z)÷⍨                                         all divided by nf+ns+z²


@ অ্যাডম এটি কোনও প্রকাশ বা সম্পূর্ণ প্রোগ্রাম নয়, তবে আপনি zএটির সঠিকতম ব্যবহার শুরু করে: ...÷z+(z←1.908)++একই বাইট গণনার জন্য এটি প্রকাশ করতে পারেন । এছাড়াও: ⊣×⊢÷+->×÷+
এনজিএন

1
@ জিএনএন রাইট, তবে বাস্তবে, এটি দ্বিগুণ মেটা সম্মতি দ্বারা অনুমোদিত: (1) এবং (2)
অ্যাডম

1

পাইথন, 79 67 বাইট

lambda s,f,z=3.8416:2j**.5*(s-(-z*(f*s/(f+s)+z/4))**.5+z/2)/(f+s+z)

আউটপুট হ'ল আসল / কাল্পনিক অংশ হিসাবে অন্তর্ভুক্ত বিরতি সহ একটি জটিল পূর্ণসংখ্যা।


1

ডিসি , 71 বাইট

16k?dsa2*?sb1.96 2^dso+dlalb4**lalb+/lo+vlov*dsd+lalblo++2*dsx/rld-lx/f

সঙ্গে ঊর্ধ্ব উপর আবদ্ধ দুটি পৃথক লাইন আবাহন উপর দুটি পৃথক লাইন উভয় ইনপুট, এবং আউটপুট লাগে নীচে এবং নিম্ন উপর আবদ্ধ শীর্ষ

উদাহরণ স্বরূপ:

bash-4.4$ dc -e '16k?dsa2*?sb1.96 2^dso+dlalb4**lalb+/lo+vlov*dsd+lalblo++2*dsx/rld-lx/f'
10                # Input n_s
90                # Input n_f
.0552285416131361 # Output lower bound
.1743673043676654 # Output upper bound

1

র‌্যাকেট 134 বাইট

(let*((n(+ s f))(z 1.96)(h(* z z))(p(/ 1(+ n h)))(q(+ s(/ h 2)))(r(* z(sqrt(+(/(* s f) n)(/ h 4))))))(values(* p(- q r))(* p(+ q r))))

Ungolfed:

(define (g s f)
  (let* ((n (+ s f))
         (z 1.96)
         (zq (* z z))
         (p (/ 1 (+ n zq)))
         (q (+ s (/ zq 2)))
         (r (* z (sqrt (+ (/(* s f) n) (/ zq 4))))))
    (values (* p (- q r)) (* p (+ q r)))))

পরীক্ষামূলক:

(g 1 10)

আউটপুট:

0.016231752262825982
0.3773646254862038

1

জাভা 7, 130 বাইট

Golfed:

double[]w(int s,int f){double n=s+f,z=1.96,x=z*z,p=s+x/2,d=z*Math.sqrt(s*f/n+x/4),m=1/(n+x);return new double[]{m*(p-d),m*(p+d)};}

Ungolfed:

double[] w(int s, int f)
{
    double n = s + f, z = 1.96, x = z * z, p = s + x / 2, d = z * Math.sqrt(s * f / n + x / 4), m = 1 / (n + x);
    return new double[]
    { m * (p - d), m * (p + d) };
}

এটি অনলাইনে চেষ্টা করুন

দৈর্ঘ্যের 2 দ্বিগুণ টাইপের একটি অ্যারে প্রদান করে, সম্ভবত আরও গল্ফ করা যেতে পারে।


1

> <> সঙ্গে -vপতাকা, 100 বাইট

:{:@:}*@+:@,24a,a,-:@:*:&4,+:\$~*{&:&2,+}:{:@@-{&+:&,nao+&,n;
,}:{::*@@-:0$0(?$-1a,:*:*:*(?\}:{:@,+2

ক্রম অনুসারে এক্সিকিউশন শুরুর সময় স্ট্যাকের উপর ইনপুট উপস্থিত হবে বলে আশা করি n_s, n_fএটি অনলাইন চেষ্টা করুন!

এটি চেষ্টা করার জন্য কি নির্বোধ ভাষা ...

যেমন> <> কোনও এক্সপোনেন্ট বা রুট অপারেটরের অভাব রয়েছে, ব্যাবিলনীয় পদ্ধতি ব্যবহার করে কোডের দ্বিতীয় লাইনে স্কোয়ার রুটটি গণ্য করা হয়, যথার্থতার সাথে 1e-8- প্রতিটি উদাহরণ হিসাবে আমি চেষ্টা করেছি, এটি কমপক্ষে 10 দশমিক স্থানে সঠিক। যদি এটি যথেষ্ট সুনির্দিষ্ট না :*হয় তবে দ্বিতীয় লাইনে আরও যোগ করে, আয়নাগুলিকে লাইনে রাখার জন্য চারপাশে জিনিসগুলিতে ঝাঁকুনির মাধ্যমে সীমাগুলি আরও শক্ত করা যেতে পারে ।

আউটপুট নিম্নলিখিত ফর্ম হয়:

<lower bound>
<upper bound>

1

পাইথ, 38 বাইট

J*K1.96Kmc++dhQcJ2+sQJ_B*K@+cJ4c*FQsQ2

ইনপুট মানগুলির তালিকা হিসাবে [n_s, n_f],। আউটপুটটি এখানে[upper, lower] অনলাইনে চেষ্টা করে দেখুন , বা এখানে একবারে সমস্ত পরীক্ষার কেস যাচাই করুন

J*K1.96Kmc++dhQcJ2+sQJ_B*K@+cJ4c*FQsQ2   Implicit: Q=eval(input())

  K1.96                                  Set variable K=1.96 (z)
J*K    K                                 Set variable J=K*K (z^2)
                                *FQ      Product of input pair
                               c   sQ    Divide the above by the sum of the input pair
                            cJ4          J / 4
                           +             Add the two previous results
                          @          2   Take the square root of the above
                        *K               Multiply by K
                      _B                 Pair the above with itself, negated
        m                                Map each in the above, as d, using:
             hQ                            First value of input (i.e. n_s)
               cJ2                         J / 2
          ++d                              Sum the above two with d
         c                                 Divided by...
                  +sQJ                     ... (J + sum of input)

1

জেলি , 30 বাইট

×÷++1.96²©HH¤×®½×Ø-+®H¤+³÷++®ɗ

এটি অনলাইন চেষ্টা করুন!

ব্যাখ্যা

                   Inputs: s and f
×÷+                (s×f)÷(s+f)
    1.96²©HH¤      (© ← 1.96²)÷4      (call this W)

   +                         (s×f)÷(s+f)+W
             ×®             ((s×f)÷(s+f)+W)ש
               ½      sqrt[ ((s×f)÷(s+f)+W)ש ]   (call this R)

                ×Ø-            [   -R,      +R  ]
                   +®H¤        [©/2-R,   ©/2+R  ]
                       +³      [©/2-R+s, ©/2+R+s]

                         ÷           Divide both by:
                          ++®ɗ       (s+f)+©

বিঃদ্রঃ

এর মধ্যে কয়েকটি বৈশিষ্ট্য চ্যালেঞ্জের চেয়ে নতুন। আমি বিশ্বাস করি যে এই চ্যালেঞ্জটি পোস্ট হওয়ার সময়, ++®¶×÷++1.96²©HH¤×®½×-,1+®H¤+³÷çবৈধ ছিল জেলি (32 বাইট), অভাব ɗএবং Ø-


1

এপিএল (এনএআরএস), ৪৯ টি চর, ৯৮ বাইট

{k←1.9208⋄(2+n÷k)÷⍨(1+⍺÷k)+¯1 1×√1+2×⍺×⍵÷k×n←⍺+⍵}

পরীক্ষা

  f←{k←1.9208⋄(2+n÷k)÷⍨(1+⍺÷k)+¯1 1×√1+2×⍺×⍵÷k×n←⍺+⍵}
  25 f 75
0.17545094 0.3430464637 
  0 f 1
0 0.7934567085 
  1 f 0
0.2065432915 1 
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.