سؤال

لدي اثنين من DendRograms التي أود مقارنتها ببعضها البعض من أجل معرفة كيفية "ما شابه". لكنني لا أعرف أي طريقة للقيام بذلك (ناهيك عن التعليمات البرمجية لتنفيذها، كما يقول، في ص).

أي خيوط؟

تحديث (2014-09-13):

منذ طرح هذا السؤال، كتبت حزمة ص تسمى dendextend., للتصور والتلاعب و مقارنة من dendrogram. هذه الحزمة على كرين ويأتي مع تعظيم مفصل. وبعد ويشمل وظائف مثل cor_cophenetic, cor_bakers_gamma و Bk / Bk_plot. وبعد وكذلك tanglegram وظيفة لمقارنة الشجرات بصريا.

هل كانت مفيدة؟

المحلول

مقارنة Dendrograms ليست نفسها تماما مقارنة التغطية الهرمية، لأن السابق يشمل أطوال الفروع وكذلك الانقسامات، لكنني أعتقد أيضا أن هذه بداية جيدة. أود أن أقترح عليك قراءة EB Fowlkes & Cl Farlows (1983). "طريقة لمقارنة اثنين من التسلسلات الهرمية". مجلة الرابطة الإحصائية الأمريكية 78 (383): 553-584 (حلقة الوصل).

يعتمد نهجهم على قطع الأشجار في كل مستوى ك, ، الحصول على تدبير بني الذي يقارن التجمعات في ك مجموعات، ثم فحص بني ضد ك المؤامرات. التدبير بني يعتمد على النظر في أزواج من الكائنات ورؤية ما إذا كانوا يقعون في نفس الكتلة أم لا.

أنا متأكد من أن المرء يمكنه كتابة التعليمات البرمجية بناء على هذه الطريقة، ولكن أولا، سنديل بحاجة إلى معرفة كيفية تمثيل Dendrograms في R.

نصائح أخرى

كما تعلم، dendrograms. تنشأ من التجميع الهرمي - إذن ما الذي تسأله حقا هو كيف يمكنني مقارنة نتائج اثنين من عمليات التجمعات الهرمية. لا توجد مقاييس قياسية أعرفها، لكنني سأبحث عن عدد المجموعات الموجودة ومقارنة تشابه العضوية بين المجموعات مثل. هنا هو نظرة عامة جيدة على التجمع الهرمي الذي كتب زميله على تجميع ويسكي سكوتش.

القي نظرة على هذه الصفحة:

لدي أيضا سؤال مماثل طلب هنا

يبدو أننا نستطيع استخدام الارتباط المرتبط لقياس التشابه بين اثنين من dendrograms. ولكن لا يبدو أن هناك وظيفة لهذا الغرض في ص حاليا.

تحرير في 2014،9،18:ال cophenetic وظيفة في stats الحزمة قادرة على حساب مصفوفة الاختلاف التظيمي. ويمكن حساب الارتباط باستخدام cor وظيفة. كما أشارtal as.dendrogram تم إرجاع الوظيفة الشجرة بأمر مختلف، مما سيؤدي إلى نتائج خاطئة إذا كنا نحسب الارتباط بناء على نتائج Dendrogram. كما أظهر في مثال الوظيفة cor_cophenetic وظيفة في dendextend صفقة:

set.seed(23235)
ss <- sample(1:150, 10 )
hc1 <- iris[ss,-5] %>% dist %>% hclust("com")
hc2 <- iris[ss,-5] %>% dist %>% hclust("single")
dend1 <- as.dendrogram(hc1)
dend2 <- as.dendrogram(hc2)
# cutree(dend1)
cophenetic(hc1)
cophenetic(hc2)
# notice how the dist matrix for the dendrograms have different orders:
cophenetic(dend1)
cophenetic(dend2)
cor(cophenetic(hc1), cophenetic(hc2)) # 0.874
cor(cophenetic(dend1), cophenetic(dend2)) # 0.16
# the difference is becasue the order of the distance table in the case of
# stats:::cophenetic.dendrogram will change between dendrograms!

إذا كان لديك إمكانية الوصول إلى مصفوفة المسافة الأساسية التي ولدت كل dendrogram (ربما تفعل إذا قمت بإنشائك إذا قمت بإنشائها في الدعوى في ص)، فلا يمكن أن تستخدم العلاقة بين القيم المقابلة للمقالات؟ أعلم أن هذا لا يعالج خطاب ما طلبته، لكنه حلا جيدا لروح ما طلبته.

إلقاء نظرة على هذه الصفحة التي لديها الكثير من المعلومات حول البرامج التي تتعامل مع الأشجار، بما في ذلك dendrograms. لقد لاحظت العديد من الأدوات التي تتعامل مع مقارنة شجرة، على الرغم من أنني لم أستخدم شخصيا أي منهم بعد. هناك عدد من المراجع المذكورة هناك أيضا.

هناك هيئة غنية من الأدبيات لمقاييس المسافة الشجرة في مجتمع Phylogenetics الذي يبدو أنه تم إهماله من منظور علوم الكمبيوتر. يرى dist.topo التابع ape حزمة لمقاييس مسافة الشجرة والعديد من الاستشهادات (بيني و هاردي 1985، كوغر و فلسنشتاين 1994) التي تفكر في تشابه أقسام الأشجار، وكذلك Robinson-Foulds متري التي لديها تنفيذ ص في phangorn صفقة.

مشكلة واحدة هي أن هذه المقاييس لا تملك مقياس ثابت، لذلك فهي مفيدة فقط في حالات 1) مقارنة شجرة أو 2) مقارنة مع بعض الأساس الناتج، ربما عبر اختبارات التقليب مماثلة لما فعله Tal مع غاما بيكر في حزمة Dendextendend رائعة له.

إذا كان لديك كائنات HCLUST أو DenDRogram التي تم إنشاؤها من R تجميع التسلسل الهرمي، باستخدام as.phylo من ape ستحول الحزمة dendrograms إلى أشجار pylogenetic للاستخدام في هذه الوظائف.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top