বড় নমুনাগুলির জন্য রুশিউ এবং ক্রাউক্স '(1993) কিউএন স্কেল অনুমানকারী কীভাবে গণনা করবেন?


13

যাক তাই মত খুব অল্প নমুনা জন্য এটা গণনা করা যায় খোঁজার থেকে ম pairwise পার্থক্যের অর্ডার স্ট্যাটিক: Qn=Cn.{|XiXj|;i<j}(k){1,3,6,2,7,5}k

    7 6 5 3 2 1
1   6 5 4 2 1
2   5 4 3 1
3   4 3 2
5   2 1
6   1
7

জ = [N / 2] + 1 টি = 4

ট = জ (জ-1) / 2 = 8

এইভাবেQn=Cn.2

স্পষ্টতই 80,000 রেকর্ডযুক্ত বড় নমুনাগুলির জন্য আমাদের খুব বড় স্মৃতি দরকার need

2D এর পরিবর্তে 1D স্পেসে কি গণনা করা ?Qn

উত্তরের একটি লিঙ্ক ftp://ftp.win.ua.ac.be/pub/preprints/92/Timeff92.pdf যদিও আমি এটি পুরোপুরি বুঝতে পারি না।


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

1
কাগজের লিঙ্কটি কাজ করে না। একটি সঠিক রেফারেন্স (আরও ভাল, সর্বাধিক প্রাসঙ্গিক তথ্যের উদ্ধৃতি সহ) আমাদের তথ্য সনাক্ত করতে সহায়তা করবে; লিঙ্কটি মারা যাওয়ার সময় এটি যেমন অকার্যকর থাকে (প্রায়শই ঘটে থাকে) dies
গ্লেন_বি -রিনস্টেট মনিকা

2
এটি কি = h টি 2 = এইচ (এইচ -1) / 2 = 6 বেছে নেওয়া উচিত নয় ? যদিও এটি শেষ ফলাফল পরিবর্তন করে না।
একটি বাঘ

কেন Qn = সিএন * 2, কেন 2? কিভাবে এটি গণনা করা হয়েছিল?
লিডক্স

উত্তর:


15

আপডেট: সমস্যার ক্রুশটি হ'ল সময় জটিলতা অর্জনের জন্য, স্টোরেজের ক্রম হিসাবে একটির প্রয়োজন ।O(nlog(n))O(n)


না, হ'ল নিম্ন তাত্ত্বিক আবদ্ধতা (দেখুন (1)) সমস্ত among মধ্যে উপাদান নির্বাচন করে time সম্ভব ।O(nlog(n))কে টি এইচ এন ( এন - 1 )kthn(n1)2|xixj|:1i<jn

আপনি স্পেস পেতে পারেন , তবে কেবলমাত্র সময়ে এর সমস্ত সংযোজন পরীক্ষা করে ।O(1)xixjO(n2)

ভাল খবর হল যে আপনি ব্যবহার করতে পারেন স্কেল মূল্নির্ধারক, ফাংশন বাস্তবায়িত (একটি উন্নত সংস্করণ এবং কিছু সময়জ্ঞান তুলনা 2) এবং (3) দেখতে () মধ্যে প্যাকেজ । অবিভাজন অনুমানক একটি দ্বি-পদক্ষেপ (অর্থাত্ পুনঃ ভারী) স্কেলের অনুমানক। এর 95 শতাংশ গাউসীয় দক্ষতা, 50 শতাংশ ব্রেকডাউন পয়েন্ট এবং সময় এবং স্থানের জটিলতা রয়েছে (প্লাস এটি সহজেই 'অনলাইন' করা যায়, বারবার ব্যবহারে অর্ধেক গণনা ব্যয় ছাঁটাই করে - যদিও আপনি এই বিকল্পটি বাস্তবায়নের জন্য কোডটি খনন করতে হবে , এটি করা সহজ নয় wardττ ( এন )scaleTau2()RrobustbaseτO(n)O(1)R

  1. এক্স + ওয়াইয়ের মধ্যে নির্বাচন এবং র‌্যাঙ্কিংয়ের জটিলতা এবং বাছাইকৃত কলামগুলি জিএন ফ্রেডেরিকসন এবং ডিবি জনসন, কম্পিউটার এবং সিস্টেম সায়েন্সেস জার্নাম 24, জার্নাল 2, এপ্রিল 1982, পৃষ্ঠা 197-208 সহ ম্যাট্রিকেস।
  2. যোহাই, ভি। এবং জামার, আর। (1988)। দক্ষ স্কেলকে হ্রাস করার মাধ্যমে রিগ্রেশনের উচ্চ ব্রেকডাউন পয়েন্টের অনুমান। আমেরিকান পরিসংখ্যান সমিতির জার্নাল 40 406413 40
  3. মেরোনা, আর। এবং জামার, আর। (2002) উচ্চ-মাত্রিক ডেটা সেটগুলির জন্য অবস্থান এবং ছড়িয়ে দেওয়ার শক্তিশালী অনুমান। টেকনোমেট্রিকস 30 307–317

এটি ব্যবহার করতে সম্পাদনা করুন

  1. ফায়ার আপ R(এটি নিখরচায় এবং এখান থেকে ডাউনলোড করা যেতে পারে )
  2. টাইপ করে প্যাকেজটি ইনস্টল করুন:
install.packages("robustbase")
  1. টাইপ করে প্যাকেজটি লোড করুন:
library("robustbase")
  1. আপনার ডেটা ফাইলটি লোড করুন এবং ফাংশনটি চালান:
mydatavector <- read.table("address to my file in text format", header=T)
scaleTau2(mydatavector)

2
@ ইউজার 603: আপনি উল্লেখ করছেন তাউ। বিটিডব্লিউ এর কেন এত ভাল পরিসংখ্যান এবং গণনার দক্ষতা এবং ব্রেকডাউন পয়েন্ট থাকলে তা কেন বিস্তৃত নয়?
কোয়ার্টজ

2
ক) আপনি অনলাইনে পাগল এবং মধ্যমা গণনা করতে পারেন । সেখান থেকে তাউকে গণনা করা তুচ্ছ। খ) ভাঙ্গন দৃ rob়তা নয় এবং তাউ বহিরাগতদের উপস্থিতিতে ভয়ানক পক্ষপাতিত্ব করেছে। আপনি এর বিরুদ্ধে আরও তর্ক পেতে পারেন
কিউএন

1
@ ইউজার 603 আপনি এই কাগজটি বোঝাতে চান? জ্ঞান.কুলেইভেন.বে
জার্মান ডেমিডভ

1
@ ইউজার 603 কাগজ অনুসারে, পক্ষপাতের বক্ররেখা আমাদের জানিয়ে দেয় যে দূষণের প্রদত্ত ভগ্নাংশের কারণে অনুমানকারী কতটা পরিবর্তন করতে পারে। এবং আমার অনুকরণীয় উদাহরণগুলির জন্য পক্ষপাতদুষ্ট ছিল (সাধারণ বিতরণ + অত্যন্ত উচ্চ / নিম্ন মানের 20%), এবং পক্ষপাতের স্তরটি তুলনীয় ছিল। আমার কিছু ভুল হতে পারে তবে এবং উভয়ই একই সমস্যায় ভুগছে বলে মনে হচ্ছে। এস এন এস এন কিউ এনQnSnSnQn
জার্মান ডেমিডভ

1
@ ব্যবহারকারীর 603 দুঃখিত, প্রভাবটি 100 মাপের নমুনাগুলির জন্য দেখা যায়নি sample আমি বড় আকারের নমুনা আকার ব্যবহার করে সমস্যাটি স্পষ্ট দেখতে পাচ্ছি। তাদের সকলের কাছে ভয়ানক পক্ষপাতিত্ব রয়েছে, তবে সবচেয়ে বড়। τ
জার্মান ডেমিডভ

0

(খুব সংক্ষিপ্ত উত্তর) মন্তব্য করার পাঠ্যটি বলে

মন্তব্যে প্রশ্নের উত্তর দেওয়া এড়ানো।

সুতরাং এটি এখানে যায়: একটি অনলাইন অ্যালগরিদম সম্পর্কে একটি কাগজ রয়েছে যা আপাতদৃষ্টিতে বেশ ভাল চলছে: অনলাইন প্রয়োগ করাQn

সম্পাদনা

(ব্যবহারকারী 603 দ্বারা)। এই নিবন্ধটির সাথে সংযুক্ত অ্যালগরিদম হল চলমান উইন্ডো সংস্করণ সংস্করণ ।Qn

বৃহৎ নমুনা দেওয়া প্রস্থ সময় জানালা বিভক্ত , আমরা আবেদন করতে পারেন করতে প্রতিটি সময় জানালা ফলনশীল মান । এই মানগুলি উল্লেখ করুন{xi}i=1Nn<N{xi}i=tn+1tQnNn+1Qn{Qni}i=1Nn+1

অ্যালগরিদম এখানে উদাহৃত প্রাপ্ত করা সম্ভব একটি এ গড় খরচ কম লক গনা প্রয়োজন গোড়া থেকে।Qni|Qni1 O(nlog(n))Qni

তবে এই অ্যালগরিদমটি পুরো আসল নমুনার গণনা করতে ব্যবহার করা যাবে না ।এটি এমন একটি বাফারও বজায় রাখতে হবে যার আকার বড় হতে পারে (যদিও এটি প্রায়শই অনেক ছোট থাকে)। { x i } N i = 1 O ( n 2 )Qn{xi}i=1NO(n2)


আপনার মন্তব্যে জবাব দেওয়া উচিত নয়, আপনার উত্তর হিসাবে মন্তব্য পোস্ট করা উচিত নয় এবং যদি আপনার উত্তরটি কেবল একটি লিঙ্ক হয় তবে এটি উত্তর নয় (তবে একটি মন্তব্য হতে পারে)। আপনি যদি এটি কোনও মন্তব্যের পরিবর্তে উত্তর হতে চান তবে আপনার উত্তরে কিছুটা প্রাসঙ্গিক তথ্য থাকতে হবে যেমন যথাযথভাবে উল্লেখ করা লিঙ্কের একটি উদ্ধৃতি , বা গুরুত্বপূর্ণ বিশদ সম্পর্কিত নিজস্ব ব্যাখ্যা। আপনি যদি পারেন তবে প্রয়োজনীয় বিশদ সরবরাহ করুন; বিকল্পভাবে আমি এটি আপনার জন্য একটি মন্তব্যে রূপান্তর করতে পারি।
গ্লেন_বি -রিনস্টেট মনিকা

@ গ্লেেন_ বি: এগিয়ে যান এবং রূপান্তর করুন। সুস্পষ্ট করার জন্য ধন্যবাদ.
সার্ভ-ইন

1
@ ইউজার 603 সম্ভবত আপনি (আমার মন্তব্যের লিঙ্কগুলিতে) উপরের উত্তরে প্রয়োজনীয় তথ্য সম্পাদনা করতে পারবেন - কারণ এটি বর্তমানে এটি এসই নেটওয়ার্কের দিকনির্দেশগুলির মধ্যে নেই।
গ্লেন_বি -রিনস্টেট মনিকা

কোন সমস্যা নেই, আমি করব! (তবে এটি এখানে আসলেই দেরি হয়ে গেছে)
ব্যবহারকারী 603

@ ইউজার 603 ধন্যবাদ; আমি আপাতত এটি এখানে
রেখে যাচ্ছি

0

এটি আমার Qn বাস্তবায়ন ...

আমি এটি সি তে প্রোগ্রামিং করছিলাম এবং ফলাফলটি হ'ল:

void bubbleSort(double *datos, int N)
{
 for (int j=0; j<N-1 ;j++)     
  for (int i=j+1; i<N; i++)    
   if (datos[i]<datos[j])      
   {
    double tmp=datos[i];
    datos[i]=datos[j];
    datos[j]=tmp;
   }
}

double  fFactorial(long N)    
{
 double factorial=1.0;

 for (long i=1; i<=N; ++i)
  factorial*=(double)i;

 return factorial;  
}

double fQ_n(double *datos, int N)  // Rousseeuw's and Croux (1993) Qn scale estimator
{
 bubbleSort(datos, N);

 int m=(int)((fFactorial((long)N))/(fFactorial(2)*fFactorial((long)N-2)));

 double D[m];
 //double Cn=2.2219;      //not used now :) constant value https://www.itl.nist.gov/div898/software/dataplot/refman2/auxillar/qn_scale.htm

 int k=(int)((fFactorial((long)N/2+1))/(fFactorial(2)*fFactorial((long)N/2+1-2)));

 int y=0;

 for (int i=0; i<N; i++)
  for (int j=N-1; j>=0; j--)
   if (i<j)
   {
    D[y]=abs(datos[i]-datos[j]);
    y++;
   }

 bubbleSort(D, m);

 return D[k-1];
}

int main(int argc, char **argv)    
{
 double datos[6]={1,2,3,5,6,7};
 int N=6;

 // Priting in terminal the final solution
 printf("\n==[Results] ========================================\n\n");

 printf(" Q_n=%0.3f\n",fQ_n(datos,N));

 return 0;
}

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

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