বন্টন যা 0 থেকে 1 এর মধ্যে রয়েছে এবং তাদের মধ্যে শীর্ষগুলি রয়েছে?


13

নীচের চিত্রটিতে এর মতো বিতরণ তৈরি করতে আমি কি অন্য বিতরণ থেকে কাজ করতে পারি (খারাপ অঙ্কনের জন্য ক্ষমা চাইছি)?

বিতরণ যেখানে আমি একটি নম্বর দেই (উদাহরণগুলিতে 0.2, 0.5 এবং 0.9) যেখানে শীর্ষটি হওয়া উচিত এবং একটি মানক বিচ্যুতি (সিগমা) যা কার্যটি আরও প্রশস্ত বা কম প্রশস্ত করে তোলে।

পিএস: প্রদত্ত সংখ্যাটি যখন 0.5 হয় তবে বিতরণটি একটি সাধারণ বিতরণ।



19
নোট করুন যে 0.5% কেস সাধারণ বিতরণ হবে না যেহেতু সাধারণ বিতরণের ±

8
আপনি আপনার ছবি নিতে পারেন আক্ষরিক তারপর কোন ডিস্ট্রিবিউশন আছে মত যে যেহেতু সব ক্ষেত্রে এলাকায় কঠোরভাবে চেয়ে 1. কম আপনাকে সমর্থন সীমিত করতে যাচ্ছি যদি বর্ণন [0,1]তারপর আপনি PDF এর ব্যাপ্তি সীমাবদ্ধ না পারেন, [0,1]পাশাপাশি (তুচ্ছ ইউনিফর্মের ক্ষেত্রে ব্যতীত)।
জন কোলম্যান

উত্তর:


29

একটি সম্ভাব্য পছন্দ হ'ল বিটা বিতরণ , তবে গড় এবং স্পষ্টতা ক্ষেত্রে পুনরায় প্যারামিট্রাইজ করা হয়েছে , এটি হ'ল "স্থির , মান যত বড় , এর প্রকরণটি আরও ছোট " (ফেরারি দেখুন , এবং ক্রিবারি-নেটো, 2004)। সম্ভাব্যতা ঘনত্ব ফাংশনটি বিটা বিতরণের মানক প্যারামিটারগুলি এবং দিয়ে প্রতিস্থাপন করে নির্মিত হয়ϕ μ ϕ y α = ϕ μ β = ϕ ( 1 - μ )μϕμϕyα=ϕμβ=ϕ(1μ)

f(y)=1B(ϕμ,ϕ(1μ))yϕμ1(1y)ϕ(1μ)1

যেখানে এবং ।E(Y)=μVar(Y)=μ(1μ)1+ϕ

বিকল্পভাবে, আপনি উপযুক্ত। এবং পরামিতি গণনা করতে পারেন যা প্রাক-সংজ্ঞায়িত গড় এবং বৈকল্পিকের সাথে বিটা বিতরণ করতে পারে। তবে খেয়াল করুন যে বিটা বিতরণের জন্য বৈধ বৈকল্পিকের সম্ভাব্য মানগুলির উপর বিধিনিষেধ রয়েছে। ব্যক্তিগতভাবে আমার জন্য, নির্ভুলতা ব্যবহার করে প্যারামিট্রাইজেশনটি আরও স্বজ্ঞাত ( sample অনুপাতের দ্বিবিভক্ত বিতরণের সাথে ভাবেন , নমুনা এবং সাফল্যের সম্ভাবনা )।αβx/ϕ Xϕμ

কুমারস্বামী বিতরণ আরেকটি সীমাবদ্ধ ধারাবাহিক বিতরণ, তবে উপরের মতো পুনরায় প্যারাম্যাট্রাইজ করা আরও শক্ত হবে।

অন্যদের হিসাবে লক্ষ্য করেছি, তা না হয় না স্বাভাবিক যেহেতু সাধারন বন্টনের হয়েছে সমর্থন যাতে শ্রেষ্ঠ সময়ে আপনি ব্যবহার করতে পারে, ছেঁটে ফেলা স্বাভাবিক একটি পড়তা হিসাবে।(,)

ফেরারী, এস।, এবং ক্রিবাড়ি-নেটো, এফ (2004)। মডেলিং হার এবং অনুপাতের জন্য বিটা রিগ্রেশন। প্রয়োগ পরিসংখ্যান জার্নাল, 31 (7), 799-815।


আমি আপনার উত্তরটি পছন্দ করি, আমি এটি থেকে কিছু গ্রাফ তৈরি করেছি। আমার একমাত্র সমস্যাটি হ'ল আমি প্রস্থটি (বাঁকির একটি সাধারণ বিতরণে সিগমা) নিয়ন্ত্রণ করতে পারি না। আমি একটি সূত্র রাখতে চাই যা একটি নির্দিষ্ট সিগমা মান দেওয়া হয় যা phi মান গণনা করে। আমার যে সমস্যাটি হচ্ছে তা হ'ল বাঁকটি উল্টে যায় বা একটি অদ্ভুত আকার নেয়, এটাই আমি এড়াতে চাই।
স্ট্যান কলেওয়ার্ট

সংক্ষেপে: আমি ফাংশনটিতে একটি মু এবং সিগমা দিতে চাই এবং সিগমা যখন ছোট তখন সিগমা বড় এবং পাতলা হয়ে গেলে প্রশস্ত হয় এমন একটি বিতরণ পেতে চাই ( ।
স্ট্যান কল্যাওয়ার্ট

1
যথার্থতা এবং মানক বিচ্যুতি সম্পর্কিত: । এছাড়াও, এবং এর চেয়ে বেশি হলে (অদ্ভুত আচরণ দেখাবে না) এর অর্থ হ'ল যখন , আপনি বা সমতুল্য । ϕ=μ(1μ)/σ21αβμ=1/2ϕ>2σ<0.707
নরমসে

2
আরেকটি বিষয় উল্লেখ করার জন্য হ'ল আপনি অবশ্যই বিটা বিতরণের মিশ্রণগুলি ব্যবহার করতে পারতেন, যদি কোনও একক বিটা বিতরণ যথেষ্ট নমনীয় হয় না।
Björn

@ Knrumsey আমি ফাইয়ের জন্য একই সূত্রটি ব্যবহার করেছি, আমার মনে হচ্ছে কেবলমাত্র সমস্যাটি হ'ল সিগমা যখন একটি বড় সংখ্যা হয়, ফাই একটি নেতিবাচক সংখ্যা হয়ে যায় যার অর্থ আলফাও নেতিবাচক সংখ্যা হয়ে যায়। উইকিপিডিয়া অনুসারে আলফা নেতিবাচক হতে পারে না। এটির কোন সমাধান আছে?
স্ট্যান কলেওয়ার্ট

5

বিটা বিতরণ চেষ্টা করে দেখুন, এর ব্যাপ্তি 0 থেকে 1 অবধি কি আপনি এখনও চেষ্টা করেছেন? গড় মান হ'লα(α+β)


1
দেখতে খুব আকর্ষণীয় লাগে তবে আমি কীভাবে আমার নম্বর (শীর্ষ মান) এবং আমার সিগমাটিকে আলফা এবং বিটা মানগুলিতে রূপান্তর করতে পারি?
স্ট্যান কলেওয়ার্ট

1
এটি কেবল উইকিপিডিয়ায় দেখুন ... এটি একটি দ্বি-প্যারামিটার বিতরণ। দু'জনের মধ্যেই তারা আপনার শীর্ষমূল্যের সাথে (অতিরিক্ত মাত্রার স্বাধীনতার সাথে) সুর করতে পারে।

5

আমি এই ধরণের পরিবর্তনশীল তৈরিতে রূপান্তর করি। একটি এলোপাতাড়ি ভেরিয়েবলের, এক্স, যা পুরো বাস্তব লাইন (স্বাভাবিক মত) সমর্থন আছে, এবং তারপর নতুন দৈব চলক করতে এটা রুপান্তর সঙ্গে স্টার্ট । প্রেস্টো, আপনি ইউনিট বিরতিতে এলোমেলো পরিবর্তনশীল বিতরণ করেছেন। যেহেতু এই নির্দিষ্ট রূপান্তরটি বৃদ্ধি পাচ্ছে, আপনি x এর গড় / মধ্যক / মোডটি প্রায় কাছাকাছি নিয়ে আপনি y এর গড় / মধ্যক / মোডটি ঘুরিয়ে আনতে পারেন। বানাতে চান আরো ছড়িয়ে (আন্ত কোয়ার্টাইলের পরিসীমা পরিপ্রেক্ষিতে বলতে)? শুধু আরও ছড়িয়ে ছিটিয়ে। yএক্সy=exp(x)1+exp(x)yx

সেখানে প্রায় ফাংশন কিছুই বিশেষ । যে কোনও ক্রমবর্ধমান ডিস্ট্রিবিউশন ফাংশন ইউনিট বিরতিতে সংজ্ঞাযুক্ত একটি নতুন এলোমেলো ভেরিয়েবল উত্পাদন করতে কাজ করে।exp(x)1+exp(x)

সুতরাং, যেকোন সিডিএফ ( ) এ প্লাগ করে যেকোন র্যান্ডম ভেরিয়েবল পরিবর্তন করতে পারে যা আপনি চান --- ইউনিট অন্তরালে বিতরণ করা একটি আরভি তৈরি করে যার বৈশিষ্ট্যগুলি অপরিবর্তিত র্যান্ডম ভেরিয়েবলের প্যারামিটারগুলি সামঞ্জস্য করে আপনি সুবিধামত সমন্বয় করতে পারবেন স্বজ্ঞাত উপায়ে যতক্ষণ না কঠোরভাবে একঘেয়ে থাকে ততক্ষণ রূপান্তরিত পরিবর্তনশীলটি বিভিন্ন উপায়ে অপরিবর্তিত রূপের মতো দেখাবে। উদাহরণস্বরূপ, আপনি চান ইউনিটের বিরতিতে সর্বজনীন র্যান্ডম পরিবর্তনশীল। যতক্ষণ না কঠোরভাবে বৃদ্ধি পাচ্ছে এবং সর্বনিম্ন, ততক্ষণ আপনি তা পেয়ে যাবেন। মধ্যমা / গড় / মোড বৃদ্ধি মধ্যমা / গড় / মোড বৃদ্ধি । এর আন্তঃআরেক্টিল পরিসর বাড়ানোF ( ) y F ( ) x x y x yy=F(x)F()yF()xxyx (25 তম পারসেন্টাইলকে নীচে এবং 75 তম পার্সেন্টাইলকে উপরে সরিয়ে) আন্তঃখণ্ডজ পরিসর বাড়িয়ে তোলে । কঠোর একঘেয়েমি খুব সুন্দর জিনিস।y

এর গড় এবং এসডি গণনা করার সূত্রটি সম্ভবত খুঁজে পাওয়া সহজ নয় তবে মন্টি কার্লো সিমুলেশনগুলির জন্য এটিই। আপনি যেগুলি আঁকেন তার মতো তুলনামূলকভাবে সুন্দর বিতরণ পেতে, আপনি এবং ) এর সাথে আসল লাইনে সমর্থন সহ অবিচ্ছিন্ন র্যান্ডম ভেরিয়েবল (ক্রমাগত র্যান্ডম ভেরিয়েবলের সিডিএফ হতে চান ।x F ( )yxF()


0

যদি কেউ পাইথনটিতে প্যারামিটার হিসাবে প্রদত্ত সংখ্যার কাছাকাছি একটি এলোমেলো মান উত্পন্ন করার জন্য আমি যে সমাধানটি ব্যবহার করি তাতে আগ্রহী। আমার সমাধানটি চারটি পর্যায়ে রয়েছে। প্রতিটি পর্যায়ে উত্পন্ন সংখ্যা প্রদত্ত সংখ্যার কাছাকাছি হওয়ার সুযোগটি আরও বড়।

আমি জানি যে সমাধানটি একটি বিতরণ ব্যবহার করার মতো সুন্দর নয় তবে এটিই আমার সমস্যার সমাধান করতে সক্ষম হয়েছিল:

number_factory.py:

import random
import numpy as np

class NumberFactory:
    def __init__(self):
        self.functions = [self.__linear, self.__exponential_point_four, self.__exponential_point_three, self.__exponential_point_twenty_five]  
        self.stage = 0

    def next_stage(self):
        self.stage += 1

    def get_mutated_number(self, number):
         # True if the generated number will be higher than the given number
         # False if the generated number will be lower than the given number
        add = bool(np.random.choice([0,1], p=[number, 1-number]))

        # Generate a number between 0 and 1 that will be used
        # to multiply the new number by which the number parameter will be substracted or added
        # The bigger the stage number (0-3) the more change that the mutated number is close to the number parameter
        multiply_number_seed = random.uniform(0, 1)
        multiply_number = self.functions[self.stage](multiply_number_seed)

        if (add):
            return number+((1-number)*multiply_number)
        else:
            return number-(number*multiply_number)

    def __linear(self, x):
        return -x+1

    def __exponential_point_four(self, x):
        return 0.4*x**2 - 1.4*x + 1

    def __exponential_point_three(self, x):
        return 0.8*x**2 - 1.8*x + 1

    def __exponential_point_twenty_five(self, x):
        return x**2 - 2*x + 1

    def get_stage(self):
        return self.stage

main.py:

import matplotlib.pyplot as plt
import numpy as np

factory = NumberFactory()
numbers = []

factory.next_stage()
factory.next_stage()
factory.next_stage()

for _ in range(100000):
    numbers.append(factory.get_mutated_number(0.3))

bins = 100

plt.hist(numbers, bins, normed=True)
plt.plot(1, np.ones_like(bins))
plt.show()

এই কোডটি কার্যকর করার সময় নীচের ছবিতে প্রদর্শিত হয়: চিত্রলেখ


0

আপনি 'জনসন কার্ভস' এ একবার দেখতে চান। এনএল জনসন দেখুন: অনুবাদ পদ্ধতি দ্বারা উত্পাদিত ফ্রিকোয়েন্সি কার্ভগুলির সিস্টেমগুলি। 1949 বায়োমেটিকার ভলিউম 36 পিপি 149-176। তাদেরকে স্বেচ্ছাচারিত বক্ররেখার জন্য উপযুক্ত করার জন্য আর এর সমর্থন রয়েছে। বিশেষত তার এসবি (সীমাবদ্ধ) কার্ভগুলি কার্যকর হতে পারে।

আমি তাদের ব্যবহারের 40 বছর হয়ে গেছে তবে সে সময় তারা আমার পক্ষে খুব দরকারী ছিল এবং আমি মনে করি তারা আপনার পক্ষে কাজ করবে।

আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.