আর-তে কার্নেল ঘনত্বের অনুমানের মধ্যে "পিডিএফ" এর অধীন অঞ্চল


15

আমি কার্নেলের ঘনত্বের অনুমান করতে আর-তে ' ঘনত্ব ' ফাংশনটি ব্যবহার করার চেষ্টা করছি । ফলাফলগুলি ব্যাখ্যা করতে এবং বিভিন্ন ডেটাসেটের তুলনা করতে আমার কিছুটা সমস্যা হচ্ছে কারণ মনে হয় বক্ররেখার অধীনে অঞ্চলটি অগত্যা 1 নয়। কোনও সম্ভাবনার ঘনত্ব ফাংশন (পিডিএফ) জন্য আমাদের অঞ্চলটি - ϕ ( x ) d x = 1 । আমি ধরে নিচ্ছি যে কার্নেলের ঘনত্বের অনুমান পিডিএফ রিপোর্ট করে reports আমি বক্ররেখার নীচে অঞ্চলটি অনুমান করার জন্য sfsmisc থেকে ইন্টিগ্রেট.ক্সি ব্যবহার করছি ।φ(এক্স)-φ(এক্স)এক্স=1

> # generate some data
> xx<-rnorm(10000)
> # get density
> xy <- density(xx)
> # plot it
> plot(xy)

ঘনত্বের প্লট

> # load the library
> library(sfsmisc)
> integrate.xy(xy$x,xy$y)
[1] 1.000978
> # fair enough, area close to 1
> # use another bw
> xy <- density(xx,bw=.001)
> plot(xy)

bw = .001 সহ ঘনত্ব

> integrate.xy(xy$x,xy$y)
[1] 6.518703
> xy <- density(xx,bw=1)
> integrate.xy(xy$x,xy$y)
[1] 1.000977
> plot(xy)

বিডাব্লু = 1 দিয়ে ঘনত্ব

> xy <- density(xx,bw=1e-6)
> integrate.xy(xy$x,xy$y)
[1] 6507.451
> plot(xy)

bw = 1e-6 সহ ঘনত্ব

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

আপডেট / উত্তরঃ

220

> xy <- density(xx,n=2^15,bw=.001)
> plot(xy)

নমুনাতে পয়েন্টের বেশি সংখ্যার সাথে ঘনত্ব

> integrate.xy(xy$x,xy$y)
[1] 1.000015
> xy <- density(xx,n=2^20,bw=1e-6)
> integrate.xy(xy$x,xy$y)
[1] 2.812398


3
এটি ঘনত্বের ()) তে ভাসমান বিন্দুর সীমাবদ্ধতার মতো দেখায়: 1e-6 এর ব্যান্ডউইদথ ব্যবহার করে আপনি (তত্ত্বের ভিত্তিতে) মোট ভর 1/10000 এর প্রতিটি 10,000 স্পাইকের সংগ্রহ তৈরি করছেন। এই স্পাইকগুলি পর্যাপ্ত বৈশিষ্ট্যযুক্ত ফাঁক ছাড়াই মূলত তাদের শিখর দ্বারা উপস্থাপিত হয়। আপনি কেবল সীমা ছাড়িয়ে ঘনত্ব () চাপছেন।
শুক্রবার

ফ্লোটিং পয়েন্ট সীমাবদ্ধতা অনুসারে @ শুভর, আপনার কি নির্ভুলতার সীমাবদ্ধতা বোঝানো হয়েছে, যেমন ভাসা ব্যবহারের ক্ষেত্রে ডাবল ব্যবহারের তুলনায় ত্রুটির বৃহত্তর পরিমাণ বাড়ানো যেতে পারে? আমি মনে করি না যে আমি দেখি কীভাবে এটি ঘটবে তবে কিছু প্রমাণ দেখতে চাই।
হাইব্যান্ডউইথথ

এন

1

@ অ্যানি-মৌসেস, হ্যাঁ, এই প্রশ্নটিই এটি জিজ্ঞাসা করছে। কেন এটি 1 এর মূল্যায়ন করা হচ্ছে না?
হাইব্যান্ডউইথথ

উত্তর:


9

ট্র্যাপিজয়েড বিধি integrate.xy()ব্যবহার সম্পর্কে চিন্তা করুন । সাধারন বন্টনের জন্য, এটি হবে অবমূল্যায়ন অন্তর (-1,1) যেখানে ঘনত্ব অবতল (এবং অত: পর রৈখিক ক্ষেপক সত্য ঘনত্ব নিচে) এ বক্ররেখা অধীনে এলাকা, এবং অতিরিক্ত অনুমান এটি অন্য কোথাও (যেমন রৈখিক ক্ষেপক যায় সত্য ঘনত্বের উপরে)। যেহেতু উত্তর অঞ্চলটি বৃহত্তর (লেসবেগু পরিমাপে, যদি আপনি চান), ট্র্যাপিজয়েড নিয়মটি ইন্টিগ্রালকে ওভারসিমেট করে। এখন, আপনি যখন ছোট ব্যান্ডউইথগুলিতে চলে আসছেন, ততই আপনার সমস্ত অনুমান টুকরোচক উত্তল, ডেটা পয়েন্টগুলির সাথে সংযুক্ত প্রচুর সংকীর্ণ স্পাইক এবং এর মধ্যে উপত্যকাগুলি রয়েছে। ট্র্যাপিজয়েড নিয়মটি এখানেই বিশেষত খারাপভাবে ভেঙে যায়।


এর অর্থ হ'ল আমরা কিছুটা হাতের .েউ অর্থে শিখরগুলিকে "ওভারস্যাম্পলিং" এবং উপত্যকাগুলিকে "আন্ডার স্যাম্পলিং" করছি। যেহেতু ভিজ্যুয়ালাইজেশনটি ট্র্যাপিজয়েডাল নিয়মকে অনুসরণ করে (নমুনাগুলি জুড়ে লিনিয়ার ইন্টারপোলেশন), এটি খুব ছোট মনে হয় কার্নেল ব্যান্ডউইথটি ভিজ্যুয়ালাইজেশনের জন্যও খারাপ। এছাড়াও, যদি আমরা ঘনত্বটি গণনা করি এমন একটি বৃহত সংখ্যক পয়েন্ট পেতে পারি, তবে সমস্যা কম হবে।
হাইব্যান্ডউইথথ

1
এই ব্যাখ্যা জল ধরে না। সমস্যাটি হ'ল ঘনত্বটি অপর্যাপ্তভাবে বিচ্ছিন্ন হয়, ট্র্যাপিজয়েড নিয়মটি খারাপভাবে ভেঙে যায় না। সংহত () সঠিক উত্তর পেতে অসহায় কারণ ঘনত্ব () একটি সঠিক উপস্থাপন করে না। এটি দেখতে, কেবল এক্স x insp এক্স পরিদর্শন করুন: এটির 10,000 টি সরু স্পাইকগুলি উপস্থাপন করার উদ্দেশ্যে কেবল 512 টি মান রয়েছে!
শুক্রবার

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

1
@ হাই না; ট্র্যাপিজয়েডাল নিয়ম ঠিকঠাক কাজ করছে। সমস্যাটি হ'ল এটি একীকরণের একটি ভুল বিচক্ষণতার সাথে কাজ করছে। 10,000 ডেটা পয়েন্ট এবং ঘনত্বের অ্যারেতে কেবল 512 টি মান থাকলে আপনার সম্ভবত "ডেটা পয়েন্টগুলির সাথে সম্পর্কিত অনেক সংকীর্ণ স্পাইক" থাকতে পারে না!
শুক্রবার

1
এই গ্রাফগুলির দিকে তাকিয়ে আমি এখন ভাবছি যে সমস্যাটি densityবরং তার চেয়ে বেশি integrate.xy। এন সঙ্গে = 10000 এবং BW = 1e6, আপনি হবে আছে 1e6 সম্পর্কে প্রতিটি দাঁত একটি উচ্চতার সঙ্গে সঙ্গে একটি ঝুঁটি দেখতে দাঁত পরিবর্তে 0. প্রায় ঘন হচ্ছে, আপনি কি এখনও একটি স্বীকৃত Bell-আকৃতির বক্ররেখা দেখুন। তাই densityআপনাকে প্রতারণা করছে, বা কমপক্ষে এটি ছোট ব্যান্ডউইদথের সাথে আলাদাভাবে ব্যবহার করা nউচিত : ডিফল্টের চেয়ে প্রায় (ডেটার রেঞ্জ) / (বিডব্লিউ) হওয়া উচিত n=512। ইন্টারেগ্রেটর অবশ্যই এই বিশাল মানগুলির মধ্যে একটি বাছাই করে যা densityএকটি অসুখী কাকতালীয় দ্বারা ফিরে আসে।
স্টাসকে

-1

এটি ঠিক আছে, আপনি এটি স্থানান্তর এবং স্কেলিং ঠিক করতে পারেন; সংক্ষিপ্ততম সংখ্যার যোগ করুন যেমন ঘনত্বটি অ-নেতিবাচক হয়, তারপরে পুরো জিনিসটিকে ধ্রুবক দ্বারা গুণান যে অঞ্চলটি unityক্য is এটি সহজ উপায়।

এল2[φ(এক্স)-]+ +


2
লক্ষ্য করুন যে প্রশ্ন বরং চালু রয়েছে কেনdensity ফাংশন "সঠিক" ঘনত্ব উত্পাদন এই নয় যে 1 থেকে সংহত - বরং তারপর কিভাবে এটা ঠিক করেন।
টিম
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.