স্থির পোয়সন প্রক্রিয়া ফিটিং
সবার আগে এটি অনুধাবন করা গুরুত্বপূর্ণ, এনএইচপোসাইনের কী ধরণের ইনপুট ডেটা প্রয়োজন।
সর্বাগ্রে, এনএইচপোসাইনের ইভেন্টের মুহুর্তগুলির সূচকগুলির একটি তালিকা প্রয়োজন । যদি আমরা সময়ের ব্যবধানে এবং সময়ের ব্যবধানে সংখ্যার ইভেন্টগুলি রেকর্ড করি, তার চেয়ে আমাদের অবশ্যই এটি তারিখের একক কলামে অনুবাদ করতে হবে, সম্ভবত যে বিরতিগুলি রেকর্ড করা হয়েছে তার চেয়ে সম্ভবত তারিখগুলি "গন্ধযুক্ত" করা উচিত।
λ
। = 1
lambda=1/60 #1 event per minute
time.span=60*60*24 #24 hours, with time granularity one second
aux<-simNHP.fun(rep(lambda,time.span))
simNHP.fun
সিমুলেশন করে তোলে। আমরা পেতে ব্যবহার করি , সিমুলেটেড ইভেন্ট ফায়ারিংয়ের মুহুর্তের সূচকগুলিরaux$posNH
সাথে একটি পরিবর্তনশীল । আমরা দেখতে পারি `দৈর্ঘ্য (aux $ posNH) পরীক্ষা করে আমাদের প্রায় 60 * 24 = 1440 ইভেন্ট রয়েছে।
λfitPP.fun
out<-fitPP.fun(posE=aux$posNH,n=time.span,start=list(b0=0)) # b0=0 is our guess at initial value for optimization, which is internally made with `nlminb` function
λ > 0fitPP
সুতরাং আমরা আসলে যা করি তা হ'ল আমরা দ্বিপদী ইভেন্টগুলির দানাদার ক্রম সহ পোইসন প্রক্রিয়াটিকে আনুমানিকভাবে নির্ধারণ করি , প্রতিটি ইভেন্ট সময়ের এক ইউনিট বিস্তৃত হয়, যে পদ্ধতিতে পোসন বিতরণকে আইনে দ্বিপদী বিতরণের সীমা হিসাবে দেখা যায় বিরল ঘটনা ।
একবার আমরা এটি বুঝতে পারলে বাকিটি অনেক সহজ (কমপক্ষে আমার জন্য)।
λbeta
exp(coef(out)[1])
NHPoisson
λλ
একটি নন-স্টেশনারি পইসন প্রক্রিয়া ফিটিং
NHPoisson
নিম্নলিখিত মডেল ফিট করে:
λ = এক্সপ্রেস( পি⃗ টি⋅ বিটা⃗ )
পি⃗ λ
এবার আসি নন-স্টেশনারি পোইসন প্রক্রিয়াটি।
time.span=60*60*24 #24 hours, with time granularity one second
all.seconds<-seq(1,time.span,length.out=time.span)
lambdas=0.05*exp(-0.0001*all.seconds) #we can't model a linear regression with NHPoisson. It must have the form with exp.
aux<-simNHP.fun(lambdas)
ঠিক আগের মতোই, aux$posNH
আমাদের ইভেন্টগুলি সূচকগুলি দিত, তবে এবার আমরা লক্ষ্য করব, সময়ের সাথে ঘটনার তীব্রতা তাত্পর্যপূর্ণভাবে হ্রাস পাচ্ছে। এবং এই হ্রাসের হারটি আমরা অনুমান করতে চাই এমন একটি প্যারামিটার।
out<-fitPP.fun(tind=TRUE,covariates=cbind(all.seconds),
posE=aux$posNH,
start=list(b0=0,b1=0),modSim=TRUE)
এটি লক্ষ করা গুরুত্বপূর্ণ, আমাদের all.seconds
একটি covariate হিসাবে রাখা প্রয়োজন , না lambdas
। সূত্রপাত / লগারিটিমাইজেশন দ্বারা অভ্যন্তরীণভাবে সম্পন্ন করা হয় fitPP.fun
। বিটিডাব্লু, পূর্বাভাসিত মানগুলি বাদে, ফাংশনটি ডিফল্টভাবে দুটি গ্রাফ তৈরি করে।
শেষ অংশটি মডেল বৈধতার জন্য একটি সুইস-ছুরি ফাংশন globalval.fun
।
aux<-globalval.fun(obFPP=out,lint=2000,
covariates=cbind(all.seconds),typeI='Disjoint',
typeRes='Raw',typeResLV='Raw',resqqplot=FALSE)
অন্যান্য জিনিসের মধ্যে, ফাংশনটি সময়কে অন্তরগুলিতে বিভক্ত করে, প্রতিটি lint
নমুনা দীর্ঘ, সুতরাং অপরিশোধিত গ্রাফ তৈরি করা সম্ভব যা পর্যবেক্ষণের তীব্রতার সাথে পূর্বাভাসের তীব্রতার তুলনা করে।