नकली सांख्यिकी


27

यदि आप कुछ नकली समाचारों का आविष्कार करने जा रहे हैं, तो आप इसे वापस करने के लिए कुछ डेटा बनाना चाहेंगे। आपके पास पहले से ही कुछ पूर्वनिर्धारित निष्कर्ष होने चाहिए और आप अपने दोषपूर्ण तर्क के तर्क को मजबूत करने के लिए कुछ आंकड़े चाहते हैं। यह चुनौती आपको मदद करनी चाहिए!

दिए गए तीन इनपुट नंबर:

  • एन - डेटा बिंदुओं की संख्या
  • μ - डेटा बिंदुओं का मतलब
  • σ - डेटा बिंदुओं, जहां के मानक विचलन μ और σ द्वारा दिया जाता है:

    यहाँ छवि विवरण दर्ज करें

आउटपुट संख्याओं के एक बिना क्रम वाली सूची, 𝑥 मैं , जो दिया उत्पन्न होगा एन , μ , और σ

मैं आई / ओ स्वरूपों के बारे में भी चुनने की नहीं जा रहा हूँ, लेकिन मैं के लिए दशमलव की किसी प्रकार की उम्मीद करना μ , σ , और आउटपुट डेटा बिंदुओं। न्यूनतम के रूप में, कम से कम 3 महत्वपूर्ण आंकड़े और कम से कम 1,000,000 की परिमाण का समर्थन किया जाना चाहिए। IEEE फ़्लोट्स ठीक हैं।

  • एन हमेशा एक पूर्णांक होगा, जहां 1 ≤ एन be 1,000
  • μ कोई भी वास्तविक संख्या हो सकती है
  • σ हमेशा ≥ 0 हो जाएगा
  • डेटा पॉइंट कोई भी वास्तविक संख्या हो सकती है
  • यदि N 1 है, तो σ हमेशा 0 होगा।

ध्यान दें कि अधिकांश इनपुट में कई संभावित आउटपुट होंगे। आपको केवल एक वैध आउटपुट देना होगा। आउटपुट नियतात्मक या गैर-नियतात्मक हो सकता है।

उदाहरण

Input (N, μ, σ) -> Possible Output [list]

2, 0.5, 1.5 -> [1, 2]
5, 3, 1.414 -> [1, 2, 3, 4, 5]
3, 5, 2.160 -> [2, 6, 7]
3, 5, 2.160 -> [8, 4, 3]
1, 0, 0 -> [0]

6
पी-वैल्यू के लिए एक सत्य / मिथ्या इनपुट जोड़ा जाना चाहिए ताकि हमें नकली या बैकअप या नकली-नापसंद आहा या तो सहसंबद्ध या गैर-सहसंबद्ध डेटा बनाना होगा।
मैजिक ऑक्टोपस Urn

1
क्या करता है +veऔर क्या -veमतलब है?
सी.जी.

@ChelseaG। सकारात्मक और नकारात्मक के लिए संकेताक्षर । मैंने स्पष्ट करने के लिए संपादन किया है।
डिजिटल ट्रॉमा

जब N = 1, σ हमेशा संभव बनाने के लिए 0 होगा?
xnor

1
वास्तव में हम बच्चों को सही नमूना मानक विचलन का उपयोग करना चाहिए और एन = 1 के साथ इनपुट के लिए कार्यान्वयन नहीं करना चाहिए।
जोनाथन एलन

जवाबों:


8

पायथ , 44 35 34 बाइट्स

? eA.DhQ2 + eQ * G, -eQJ * E @ hc1thQ2 + eQJ * G, -eQKE + eQK 
.N? eA.DN2+T*G+LTG_my@hc1tN2*G+LT_BY
.N? EA.DN2+T*G+LT_B*Y@cNtN2*G+LT_BY

इसे ऑनलाइन आज़माएं! (कोड ऊपर एक फ़ंक्शन को परिभाषित करता है। फ़ंक्शन :.*को लागू करने के लिए लिंक पर जोड़ा गया है।)

गणित

यह सममित रूप से डेटा का निर्माण करता है। यदि समान Nहै, तो डेटा केवल मानक प्लस या न्यूनतम विचलन है। हालांकि, अगर Nयह अजीब है, तो हमने सिर्फ एक कीड़ा खोल दिया है, चूंकि डेटा सममित होने के लिए माध्य मौजूद होना है, और इसलिए उतार-चढ़ाव को एक निश्चित कारक से गुणा करना होगा।

अगर nहै भी

  • आधा डाटा है μ+σ
  • आधा डाटा है μ-σ

अगर nअजीब है

  • एक दातूम है μ
  • आधे से भी कम आंकड़े हैं μ+σ*sqrt(n/(n-1))
  • आधे से भी कम आंकड़े हैं μ-σ*sqrt(n/(n-1))

6

MATL , 22 बाइट्स

एक सुधार के लिए @DigitalTrauma का धन्यवाद ।

:t&1Zs/tYm-*+tZN?3G9L(

इनपुट आदेश है: N, σ, μ

इसे ऑनलाइन आज़माएं!

या एक संशोधित संस्करण देखें जो उत्पादित डेटा के माध्य और मानक विचलन की भी जांच करता है।

व्याख्या

कोड को चार भागों में बांटा गया है:

  1. :वह सरणी उत्पन्न करता है [1 2 ... N]जहाँ Nनिहित इनपुट के रूप में लिया जाता है।

  2. t&1Zs/उन संख्याओं को उनके अनुभवजन्य मानक विचलन (द्वारा गणना सामान्यीकृत N) द्वारा विभाजित करता है , और tYm-परिणामी मूल्यों के अनुभवजन्य अर्थ को घटाता है। यह सुनिश्चित करता है कि परिणामों का अनुभवजन्य माध्य 0और अनुभवजन्य मानक विचलन है 1

  3. *द्वारा पलता σऔर +कहते हैं μ, दोनों अंतर्निहित आदानों के रूप में लिया।

  4. tZN?x3Gविशेष मामले को संभालता है N = 1, σ = 0जिसके लिए आउटपुट होना चाहिए μ। यदि यह वास्तव में मामला है, तो दूसरे चरण में गणना किए गए अनुभवजन्य मानक विचलन था 0, विभाजन ने दिया inf, और σतीसरे चरण में गुणा करके दिया NaN। तो कोड क्या करता है: यदि प्राप्त सरणी में सभी NaNमान (कोड tZN?) हैं, तो इसे हटाएं ( x) और तीसरे इनपुट ( 3G) को धक्का दें , जो कि है μ


4

पायथन , 50 बाइट्स

lambda n,m,s:[m+s*(n-1)**.5]+[m-s/(n-1%n)**.5]*~-n

इसे ऑनलाइन आज़माएं!

nमाध्य 0और sdev के साथ निम्नलिखित- वितरण वितरण का उपयोग करता है 1:

  • संभावना 1/n(यानी 1तत्व), आउटपुट के साथ(n-1)**0.5
  • संभावना 1-1/n(यानी n-1तत्व), आउटपुट के साथ-(n-1)**(-0.5)

यह रूपांतरित mहोने के sद्वारा माध्य और सदेव में परिवर्तित हो जाता है x->m+s*x। अनायास, n=1एक बेकार मूल्य के लिए शून्य त्रुटि के द्वारा एक विभाजन देता है, इसलिए हम इसे करने के लिए और अन्यथा देने के /(n-1%n)**.5साथ दूर करते हैं।1%n0n==11

आपको लगता है कि (n-1)**.5इसे छोटा किया जा सकता है ~-n**.5, लेकिन घातांक पहले होता है।

A defएक बाइट लंबा है।

def f(n,m,s):a=(n-1%n)**.5;print[m+s*a]+[m-s/a]*~-n

3

आर, 83 62 53 बाइट्स

function(n,m,s)`if`(n>1,scale(1:n)*s*sqrt(1-1/n)+m,m)

यदि n=1, तो यह वापस आ जाता है m(तब से scaleवापस आ जाएगा NA), अन्यथा यह डेटा [1,...,n]को मापता है कि इसका मतलब 0 और (नमूना) मानक विचलन 1 है, इसलिए यह s*sqrt(1-1/n)सही जनसंख्या मानक विचलन प्राप्त करने के लिए गुणा करता है , और mउचित अर्थ में स्थानांतरित करने के लिए जोड़ता है। मुझे स्केल समारोह में पेश करने और उन बाइट्स को छोड़ने के लिए डासन के लिए धन्यवाद!

इसे ऑनलाइन आज़माएं!


क्या आप इसे ऑनलाइन आज़मा सकते हैं ताकि आपके उत्तर को आसानी से सत्यापित किया जा सके?
डिजिटल ट्रामा

हां! मुझे दो मिनट दें।
ग्यूसेप

शायद 4 बाइट्स को बचाने के 1:nबजाय सिर्फ उपयोग कर सकते हैं rt(n,n)। और scaleफ़ंक्शन संभवतः उपयोगी हो सकता है।
दासोन

@ डासन - धन्यवाद! मैंने सीखा कि scaleकौन सी चीज महान है।
ग्यूसेप

1

जेली , 20 बाइट्स

÷_Ḃ$©$*.;N$ṁ®;0ṁ⁸×⁵+

इसे ऑनलाइन आज़माएं!

: पूर्ण तीन आदेश पंक्ति तर्क लेने कार्यक्रम n , μ , σ

कैसे?

बनाता है मंजिल (एन / 2) मूल्यों मतलब और मतलब पर एक मूल्य से समान दूरी पर है, तो n अजीब ऐसी है कि मानक विचलन सही है ...

÷_Ḃ$©$*.;N$ṁ®;0ṁ⁸×⁵+ - Main link: n, μ (σ expected as third input, the 5th command argument)
   $                 - last two links as a monad:
 _                   -   n minus:
  Ḃ                  -     n mod 2            i.e. n-1 if n is odd, n if n is even
    ©                - copy value to register
÷                    - n divided by that
       .             - literal 0.5
      *              - exponentiate = (n / (n - (n mod 2))) ^ 0.5
                     -        i.e. 1 if n is even; or (n/(n-1))^0.5 if n is odd
         $           - last two links as a monad:
        N            -   negate
       ;             -   concatenate   i.e. [1,-1] or [(n/(n-1))^0.5,-(n/(n-1))^0.5]
            ®        - recall value from register
           ṁ         - mould the list like something of that length
             ;0      - concatenate a zero
                ⁸    - link's left argument, n
               ṁ     - mould the list like something of length n (removes the zero for even n)
                  ⁵  - fifth command argument, third program argument (σ)
                 ×   - multiply (vectorises)
                   + - add μ (vectorises)
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.