বেইশিয়ান মডেলিং ট্রেন অপেক্ষা সময়: মডেল সংজ্ঞা


12

ঘন ঘন ঘন শিবির থেকে আগত কেউ বায়েশিয়ান ডেটা বিশ্লেষণ করার জন্য এটি আমার প্রথম প্রচেষ্টা। এ। গেলম্যানের দ্বারা বয়েসিয়ান ডেটা অ্যানালাইসিসের কয়েকটি টিউটোরিয়াল এবং কয়েকটি অধ্যায় পড়েছি।

প্রথম বা কম স্বতন্ত্র ডেটা বিশ্লেষণ উদাহরণ হিসাবে আমি বেছে নিয়েছি ট্রেনের অপেক্ষার সময়। আমি নিজেকে জিজ্ঞাসা করলাম: অপেক্ষার সময়ের বিতরণ কী?

ডেটাসেটটি একটি ব্লগে সরবরাহ করা হয়েছিল এবং পিএমসির বাইরে কিছুটা আলাদাভাবে বিশ্লেষণ করা হয়েছিল।

আমার লক্ষ্যটি সেই 19 ডেটা এন্ট্রি প্রদত্ত প্রত্যাশিত ট্রেনের অপেক্ষার সময়গুলি অনুমান করা।

আমি যে মডেলটি তৈরি করেছি তা নিম্নলিখিত:

μN(μ^,σ^)

σ|N(0,σ^)|

λΓ(μ,σ)

ρPoisson(λ)

যেখানে ডেটা মানে এবং mean হ'ল ডেটা স্ট্যান্ডার্ড বিচ্যুতিটি 1000 দ্বারা গুণিত হয়। σμ^σ^

আমি আশা অপেক্ষার সময় অনুকরণে পইসন বিতরণের ব্যবহার করে। এই বিতরণের হারের পরামিতি গামা বিতরণ ব্যবহার করে মডেল করা হয়েছে কারণ এটি পোইসন বিতরণে সম্মিলিত বিতরণ। হাইপার-প্রিয়ারগুলি এবং যথাক্রমে নরমাল এবং হাফ-নরমাল বিতরণের মাধ্যমে মডেল হয়েছিল। স্ট্যান্ডার্ড বিচ্যুতি যতটা সম্ভব বিস্তৃত হিসাবে যতটা সম্ভব বিস্তৃত করা সম্ভব ..μ σ σρμσσ

আমি একগুচ্ছ প্রশ্ন আছে

  • এই মডেলটি কি কাজের জন্য যুক্তিযুক্ত (মডেল করার বিভিন্ন উপায়?)?
  • আমি কি কোনও প্রাথমিক ভুল করেছি?
  • মডেল কি সরলীকরণ করা যায় (আমি সাধারণ জিনিসগুলিকে জটিল করে তুলি)?
  • হার প্যারামিটার ( ) এর পোস্টারিয়রটি আসলে ডেটা ফিট করে কিনা তা আমি কীভাবে যাচাই করতে পারি ?ρ
  • নমুনাগুলি দেখতে আমি কীভাবে লাগানো পোইসন বিতরণ থেকে কিছু নমুনা আঁকতে পারি?

5000 মেট্রোপলিস পদক্ষেপের পরে পোস্টারিয়রগুলি দেখে মনে হচ্ছে: প্লটগুলি ট্রেস করুন

আমি উত্স কোড পাশাপাশি পোস্ট করতে পারেন। মডেল ফিটিং পর্যায়ে আমি NUTS ব্যবহার করে প্যারামিটারগুলি এবং ব্যবহার করি। তারপর দ্বিতীয় ধাপ আমি হার পরামিতি জন্য মেট্রোপলিস না । শেষ পর্যন্ত আমি ইনবিল্ট সরঞ্জামগুলি ব্যবহার করে ট্রেস প্লট করি।σ ρμσρ

আমি এমন কোনও মন্তব্য এবং মন্তব্যের জন্য খুব কৃতজ্ঞ থাকব যা আমাকে আরও সম্ভাব্য প্রোগ্রামিং বুঝতে সক্ষম করবে। আরও কিছু ক্লাসিক উদাহরণ রয়েছে যা পরীক্ষার জন্য উপযুক্ত?


পাইথনটিতে আমি পাইএমসি 3 ব্যবহার করে কোডটি এখানে লিখেছি। ডেটা ফাইলটি এখানে পাওয়া যাবে

import matplotlib.pyplot as plt
import pandas as pd
import numpy as np
import pymc3

from scipy import optimize

from pylab import figure, axes, title, show

from pymc3.distributions import Normal, HalfNormal, Poisson, Gamma, Exponential
from pymc3 import find_MAP
from pymc3 import Metropolis, NUTS, sample
from pymc3 import summary, traceplot

df = pd.read_csv( 'train_wait.csv' )

diff_mean = np.mean( df["diff"] )
diff_std = 1000*np.std( df["diff"] )

model = pymc3.Model()

with model:
    # unknown model parameters
    mu = Normal('mu',mu=diff_mean,sd=diff_std)
    sd = HalfNormal('sd',sd=diff_std)

    # unknown model parameter of interest
    rate = Gamma( 'rate', mu=mu, sd=sd )

    # observed
    diff = Poisson( 'diff', rate, observed=df["diff"] )

with model:
    step1 = NUTS([mu,sd])
    step2 = Metropolis([rate])
    trace = sample( 5000, step=[step1,step2] )

plt.figure()
traceplot(trace)
plt.savefig("rate.pdf")
plt.show()
plt.close()

একটি দুর্দান্ত প্রশ্ন, তবে আমি আপনাকে শিরোনাম সম্পাদনা করার পরামর্শ দিচ্ছি: আপনার প্রশ্নগুলি বরং সফ্টওয়্যারটিতে অজ্ঞাতসৃষ্টিকর, এবং মডেলটির মূল্যায়ন সম্পর্কে আরও বেশি মনে হয়। এমনকি আপনি এটিকে পৃথক, সম্পর্কিত প্রশ্নে টুকরো টুকরো করতে পারেন।
শান ইস্টার

@ সানইস্টার ধন্যবাদ! এটি আসলে সফ্টওয়্যার সম্পর্কিত, যদিও আমি শিরোনাম সম্পর্কে একমত। আমি অনুরোধের ভিত্তিতে উত্স কোড যুক্ত করতে প্রস্তুত আছি কারণ এটি আরও সম্পূর্ণ গল্প বলে তবে প্রশ্নটি আরও বিশাল এবং সম্ভাব্য আরও বিভ্রান্তিকর করে তুলতে পারে। শিরোনামটি সম্পাদন করতে দ্বিধা বোধ করুন কারণ এর চেয়ে বেশি জেনেরিক কিছুই আমার মনে আসে না।
ভ্লাদিস্লাভস ডোভাল্লেকস

আমি রাজী. আমি মনে করি এগুলি আসলে দুটি প্রশ্ন। আমি মডেলিং প্রশ্নের (গুলি) উত্তর দেওয়ার চেষ্টা করেছি।
jaradniemi

উত্তর:


4

আমি আপনাকে প্রথমে বলব আমি কী করব এবং তারপরে আপনার নির্দিষ্ট প্রশ্নগুলির উত্তর দেব।

আমি কি করব (কমপক্ষে প্রাথমিকভাবে)

আমি আপনার পোস্ট থেকে যা সংগ্রহ করি তা এখানে, আপনার 19 টি পর্যবেক্ষণের জন্য অপেক্ষা করার প্রশিক্ষণ রয়েছে এবং আপনি প্রত্যাশিত অপেক্ষার সময়টি সম্পর্কে সুনির্দিষ্ট আগ্রহী।

আমি জন্য সংজ্ঞায়িত করব ট্রেনের অপেক্ষার সময় হতে । আমি কোনও কারণ দেখছি না যে এই অপেক্ষার সময়গুলি পূর্ণসংখ্যার হওয়া উচিত, তাই আমি ধরে নেব সেগুলি ধনাত্মক ক্রমাগত পরিমাণ, অর্থাৎ । আমি ধরে নিচ্ছি যে সমস্ত অপেক্ষার সময়টি আসলে পালন করা হয়। i = 1 , , 19 i W iR +Wii=1,,19iWiR+

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

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

YiindN(μ,σ2).
μ|σ2N(m,σ2C)σ2IG(a,b)
IGp(μ,σ2)1/σ2

যেহেতু , আমরা তাদের উত্তরোত্তর বিতরণ থেকে এবং এর যৌথ নমুনাগুলি অঙ্কন করে প্রত্যাশিত অপেক্ষার সময়ের প্রশ্নগুলির উত্তর দিতে পারি , যা একটি স্বাভাবিক বিপরীত -গ্যামা বিতরণ এবং তারপরে এই প্রতিটি নমুনার জন্য গণনা করা হচ্ছে। প্রত্যাশিত অপেক্ষা সময়ের জন্য উত্তর থেকে এই নমুনাগুলি। μ σ 2 μ + + σ / 2E[Wi]=eμ+σ/2μσ2eμ+σ/2

আপনার প্রশ্নের উত্তর

  • এই মডেলটি কি কাজের জন্য যুক্তিযুক্ত (মডেল করার বিভিন্ন উপায়?)?

কোনও পয়সন এমন ডেটার জন্য উপযুক্ত বলে মনে হয় না যা অ-পূর্ণসংখ্যার মূল্যবান হতে পারে। আপনার কাছে কেবল একটি একক এবং সেইজন্য আপনি গাম্বা বিতরণের প্যারামিটারগুলি শিখতে পারবেন না । এটি বলার আর একটি উপায় হ'ল আপনি একটি শ্রেণিবদ্ধ মডেল তৈরি করেছেন, তবে ডেটাগুলিতে কোনও শ্রেণিবদ্ধ কাঠামো নেই।λλλ

  • আমি কি কোনও প্রাথমিক ভুল করেছি?

পূর্ববর্তী মন্তব্য দেখুন।

এছাড়াও, এটা সত্যিই যদি আপনার গণিত এবং আপনার কোড একমত সাহায্য করবে, যেমন কোথায় আপনার এমসিএমসি ফলাফলে? আপনার কোডে এসডি এবং রেট কী?λ

আপনার পূর্ববর্তী তথ্য উপর নির্ভর করবে না।

  • মডেল কি সরলীকরণ করা যায় (আমি সাধারণ জিনিসগুলিকে জটিল করে তুলি)?

হ্যাঁ এবং এটি করা উচিত। আমার মডেলিং পদ্ধতির দেখুন।

  • হার প্যারামিটার ( ) এর পোস্টারিয়রটি আসলে ডেটা ফিট করে কিনা তা আমি কীভাবে যাচাই করতে পারি ?ρ

আপনার ডেটা হওয়ার কথা নয় ? আপনার মানে ? একটি জিনিস যাচাই করতে হবে তা নিশ্চিত করা যে নমুনা গড় অপেক্ষার সময়টি আপনার অপেক্ষা অপেক্ষা গড় সময়ের সাথে আপনার উত্তরোত্তর বিতরণের সাথে সম্পর্কিত। আপনার উদ্ভট আগে না থাকলে, নমুনা গড়টি hte উত্তরোত্তর বিতরণের শীর্ষের কাছাকাছি হওয়া উচিত।λρλ

  • নমুনাগুলি দেখতে আমি কীভাবে লাগানো পোইসন বিতরণ থেকে কিছু নমুনা আঁকতে পারি?

আমি বিশ্বাস করি আপনি উত্তরোত্তর ভবিষ্যদ্বাণীমূলক বিতরণ চান। আপনার এমসিএমসিতে প্রতিটি পুনরাবৃত্তির জন্য, আপনি সেই পুনরাবৃত্তির জন্য প্যারামিটার মানগুলিতে প্লাগ করেন এবং একটি নমুনা নেন।


অসংখ্য ধন্যবাদ! আমি আপনার উত্তর বরং দ্রুত পড়া। এটি হজম করতে, কিছু বিতরণ এবং ধারণার জন্য রেফারেন্সগুলি খুঁজে পেতে এবং পাইএমসিতে এটি প্রয়োগ করার চেষ্টা করার জন্য আমার কিছুটা সময় প্রয়োজন হবে। বিটিডব্লিউ, আমি আমার পরীক্ষার জন্য পাইথন কোডটি কেবল যুক্ত করেছি।
ভ্লাদিস্লাভস ডভগ্লেলেকস
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.