পিসিএর মাধ্যমে অরথোগোনাল রিগ্রেশন (মোট সর্বনিম্ন স্কোয়ারস) কীভাবে সম্পাদন করবেন?


29

আমি সবসময় ব্যবহার lm()দ রৈখিক রিগ্রেশনের সম্পাদন করতে উপর । এই ফাংশনটি একটি সহগ যেমনx β y = β x yxβ

y=βx.

আজ আমি মোট সর্বনিম্ন স্কোয়ার সম্পর্কে শিখেছি এবং এটি princomp()সম্পাদন করার জন্য সেই ফাংশন (প্রধান উপাদান বিশ্লেষণ, পিসিএ) ব্যবহার করা যেতে পারে। এটি আমার পক্ষে ভাল (আরও সঠিক) হওয়া উচিত। আমি কিছু টেস্ট ব্যবহার করে করেছি princomp(), যেমন:

r <- princomp( ~ x + y)

আমার সমস্যাটি: এর ফলাফলগুলি কীভাবে ব্যাখ্যা করা যায়? আমি কীভাবে রিগ্রেশন সহগ পেতে পারি? "সহগ" দ্বারা আমি সংখ্যাকে বলতে বোঝাতে চাই যে একটি সংখ্যা কাছাকাছি দিতে মানকে গুণ করতে হবে ।x yβxy


এক মুহুর্ত বলছি, আমি কিছুটা বিভ্রান্ত। দেখুন: zoonek2.free.fr/UNIX/48_R/09.html এটিকে পিসিএ বলা হয় (প্রিন্সিপাল কম্পোনেন্ট অ্যানালাইসিস, ওরফে " অर्थোগোনাল রিগ্রেশন" বা "লম্ব লম্বা বর্গক্ষেত্র" বা "মোট ন্যূনতম স্কোয়ার") তাই আমি মনে করি আমরা কথা বলছি প্রিনম্পম্প সহ টিএলএস সম্পর্কে () না?
ডেইল

না; এগুলি দুটি ভিন্ন জিনিস, পিসিএ সম্পর্কে উইকিপিডিয়া নিবন্ধ দেখুন। এখানে এটি ব্যবহার করা হচ্ছে এটি একটি হ্যাক (আমি ঠিক জানি না, তবে আমি এটি যাচাই করতে যাচ্ছি); সহগের জটিল এক্সট্রাকশন why

1
সম্পর্কিত সম্পর্কিত প্রশ্ন: stats.stackexchange.com/questions/2691/… এবং একটি ব্লগ পোস্ট উত্তরগুলির মধ্যে একটি দ্বারা রেফারেন্স করা হয়: সেরিব্রালমেস্টিকেশন.
জোনাথন

উত্তর:


48

সাধারণ সর্বনিম্ন স্কোয়ার বনাম মোট সর্বনিম্ন স্কোয়ার

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

ওএলএস বনাম টিএলএস

OLS ঔজ্জ্বল্যের প্রেক্ষাপটে সমীকরণ ফিট পর্যবেক্ষিত মানের মধ্যে স্কোয়ারড দূরত্বের কমানোর দ্বারা এবং পূর্বাভাস মান । টিএলএস পয়েন্ট এবং লাইনে তাদের প্রক্ষেপণের মধ্যবর্তী স্কোয়ার দূরত্বগুলি হ্রাস করে একই সমীকরণটি ফিট করে । এই সাধারণ ক্ষেত্রে টিএলএস লাইনটি 2D তথ্যের প্রথম প্রধান উপাদান। A খুঁজে পেতে , পয়েন্টগুলিতে পিসিএ করুন , অর্থাত্ কোভারিয়েন্স ম্যাট্রিক্স এবং এর প্রথম ; তারপরে ।Y Y ( এক্স , Y ) β ( এক্স , Y ) 2 × 2 Σ বনাম = ( V এক্স , বনাম Y ) β = V Y / V এক্সy=βxyy^(x,y)β(x,y)2×2Σv=(vx,vy)β=vy/vx

মতলব-তে:

 v = pca([x y]);    //# x and y are centered column vectors
 beta = v(2,1)/v(1,1);

আর তে:

 v <- prcomp(cbind(x,y))$rotation
 beta <- v[2,1]/v[1,1]

যাইহোক, এবং কেন্দ্রিক না থাকলেও এটি সঠিক opeালু উত্পাদন করবে (কারণ বিল্ট-ইন PCA ফাংশনগুলি স্বয়ংক্রিয়ভাবে কেন্দ্রীকরণ সম্পাদন করে)। বিরতি পুনরুদ্ধার করতে, গণনা করুন ।y β 0 = ˉ y - β ˉ xxyβ0=y¯βx¯

ওএলএস বনাম টিএলএস, একাধিক রিগ্রেশন

একটি নির্ভরশীল পরিবর্তনশীল দেওয়া এবং অনেক স্বাধীন ভেরিয়েবল (আবার, সব সরলীকরণের জন্য কেন্দ্রিক), রিগ্রেশন একটি সমীকরণ ফিটOLS ঔজ্জ্বল্যের প্রেক্ষাপটে পর্যবেক্ষিত মানের মধ্যে স্কোয়ারড ত্রুটি কমানোর দ্বারা মাপসই করা হবে না এবং পূর্বাভাস মান । টিএলএস পর্যবেক্ষণ পয়েন্ট এবং রিগ্রেশন প্লেন / হাইপারপ্লেনের নিকটতম পয়েন্টগুলির মধ্যে বর্গক্ষেত্রের দূরত্বগুলি হ্রাস করে ফিট করে ।x i y = β 1 x 1 + + β পি x পিY Y ( এক্স , Y ) আর পি + + 1yxi

y=β1x1++βpxp.
yy^(x,y)Rp+1

নোট করুন যে "আরগ্রেশন রেখা" আর নেই! উপরের সমীকরণটি একটি হাইপারপ্লেনকে নির্দিষ্ট করে : এটি যদি একটি 2 ডি প্লেন থাকে যেখানে দুটি ভবিষ্যদ্বাণী থাকে, 3 ডি হাইপারপ্লেন যদি তিনটি ভবিষ্যদ্বাণী থাকে ইত্যাদি ইত্যাদি। সুতরাং উপরের সমাধানটি কার্যকর হয় না: আমরা কেবল প্রথম পিসি নিয়ে টিএলএস সমাধান পেতে পারি না (যা হ'ল একটি লাইন)। তবুও সমাধানটি পিসিএর মাধ্যমে সহজেই পাওয়া যায়।

আগের মতো, পিসিএ পয়েন্টে সঞ্চালিত হয় । এটি কলামগুলিতে ইগেনভেেক্টর লাভ করে । প্রথম আইজেনভেেক্টরগুলি একটি ডাইমেনশনাল হাইপারপ্লেন- যা আমাদের প্রয়োজন; শেষ (সংখ্যা ) ইগেনভেেক্টর it এটির অর্থেগোনাল। প্রশ্ন হল কিভাবে ভিত্তিতে রূপান্তরিত হয় প্রথম কর্তৃক প্রদত্ত মধ্যে eigenvectors কোফিসিয়েন্টস।পি + 1 ভি পি পি এইচ পি + 1 ভি পি + 1 এইচ পি β(x,y)p+1VppHp+1vp+1Hpβ

লক্ষ্য করুন যে আমরা যদি সমস্ত এবং কেবল জন্য নির্ধারণ তবে তারপরে , অর্থাৎ ভেক্টর হাইপারপ্লেন । অন্যদিকে, আমরা জানি যে । অর্থাৎ তাদের ডট পণ্য অবশ্যই শূন্য হতে হবে:আমি এক্স = 1 Y = β ( 0 , ... , 1 , ... , β ) এইচ এইচ ভি পি + + 1 = ( V 1 , ... , বনাম পি + + 1 )xi=0ikxk=1y^=βk

(0,,1,,βk)H
Hভি কে + β কে ভি পি + 1 = 0 β কে = - ভি কে / ভি পি + 1
vp+1=(v1,,vp+1)H
vk+βkvp+1=0βk=vk/vp+1.

মতলব-তে:

 v = pca([X y]);    //# X is a centered n-times-p matrix, y is n-times-1 column vector
 beta = -v(1:end-1,end)/v(end,end);

আর তে:

 v <- prcomp(cbind(X,y))$rotation
 beta <- -v[-ncol(v),ncol(v)] / v[ncol(v),ncol(v)]

আবার, এবং কেন্দ্রিক না থাকলেও এটি সঠিক opালু উত্পাদন করবে (কারণ বিল্ট-ইন পিসিএ ফাংশনগুলি স্বয়ংক্রিয়ভাবে কেন্দ্রীকরণ সম্পাদন করে)। ইন্টারসেপ্টটি পুনরুদ্ধার করতে, গণনা করুন ।y β 0 = ˉ y - ˉ x βxyβ0=y¯x¯β

স্যানিটি পরীক্ষা হিসাবে, লক্ষ্য করুন যে এই সমাধানটি কেবলমাত্র একক একা ভবিষ্যদ্বাণী ক্ষেত্রে আগেরটির সাথে মিলে যায় । প্রকৃতপক্ষে, তবে স্থানটি 2 ডি, এবং তাই, প্রথম পিসিএ ইগেনভেেক্টরটি দ্বিতীয় (শেষ) একের কাছে অরথোগোনাল, ।( x , y ) v ( 1 ) y / v ( 1 ) x = - v ( 2 ) x / v ( 2 ) yx(x,y)vy(1)/vx(1)=vx(2)/vy(2)

টিএলএসের জন্য বন্ধ ফর্ম সমাধান

আশ্চর্যজনকভাবে, এটি দেখা যাচ্ছে যে জন্য বন্ধ ফর্ম সমীকরণ রয়েছে । নীচের যুক্তিটি সাবিন ভ্যান হাফলের "মোট সর্বনিম্ন স্কোয়ারস" (বিভাগ ২.৩.২) থেকে নেওয়া হয়েছে।β

আসুন এবং কেন্দ্রিক ডেটা ম্যাট্রিক হয়। গত পিসিএ eigenvector কোভ্যারিয়েন্স ম্যাট্রিক্স একজন eigenvector হয় একটি eigenvalue সঙ্গে । যদি এটি একটি আইজেনভেেক্টর হয়, তবে তা হ'ল । । ইগেনভেেক্টর সমীকরণটি লিখেছেন: Xyvp+1[Xy]σp+12vp+1/vp+1=(β1)

(XXXyyXyy)(β1)=σp+12(β1),
এবং বামদিকে পণ্যটি গণনা করা, আমরা তত্ক্ষণাত্ সেই যা পরিচিত ওএলএস এক্সপ্রেশন
βTLS=(XXσp+12I)1Xy,
βOLS=(XX)1Xy.

একাধিক রিগ্রেশন মাল্টিভারিয়েট করুন

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


1
আমি আর জানি না, তবে এখনও ভবিষ্যতের রেফারেন্সের জন্য আর স্নিপেট সরবরাহ করতে চেয়েছিলাম। এখানে আর অনেক দক্ষ লোক রয়েছে। দয়া করে প্রয়োজনে আমার স্নিপেটগুলি সম্পাদনা করতে নির্দ্বিধায় অনুগ্রহ করে! ধন্যবাদ.
অ্যামিবা বলছেন মনিকা পুনরায়

ভাল পোস্ট, তবে আমি যদি জিজ্ঞাসা করতে পারি যে ভেক্টর হাইপারপ্লেনের মধ্যে রয়েছে তার কী? (0,,1,,βk)
JohnK

@ জনক, আমি নিশ্চিত না ঠিক কী অস্পষ্ট। আমি যেমন লিখেছি, সমস্ত বাদে শূন্যের সমান । তারপর যদি আপনি এই প্লাগ , আপনি পাবেন । সুতরাং বিন্দু সমীকরণ দ্বারা সংজ্ঞায়িত হাইপারপ্লেনের উপরে অবস্থিত । xiY = Σ β এক্স Y = β 1 = β ( 0 , ... , 1 , ... β ) Y = Σ β এক্স xk=1y=βjxjy=βk1=βk(0,,1,βk)y=βjxj
অ্যামিবা বলছেন মনিকাকে

আমি এই অংশটি ভুলভাবে পড়েছি বলে মনে হচ্ছে তবে এটি এখন পরিষ্কার। স্পষ্টতার জন্য ধন্যবাদ।
K

2
আর এ, আপনি "ইগেন (সিওবি (সিবিন্ড (এক্স, ওয়াই))) $ ভেক্টরগুলি" ওভার "প্রম্পম্প (সিবিন্ড (এক্স, ওয়াই)) $ ঘূর্ণন" পছন্দ করতে পারেন কারণ বৃহত্তর ভেক্টরগুলির জন্য পূর্বেরটি আরও দ্রুত is
টমাস ব্রাউন

9

নিখুঁত জিএনইউ অক্টাভ বাস্তবায়নের ভিত্তিতে এখানে পাওয়া গেছে , এর মতো কিছু (লবণের দানা, দেরীতে) কাজ করে।

tls <- function(A, b){

  n <- ncol(A)
  C <- cbind(A, b)

  V <- svd(C)$v
  VAB <- V[1:n, (n+1):ncol(V)]
  VBB <- V[(n+1):nrow(V), (n+1):ncol(V)]
  return(-VAB/VBB)
}

4

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


আমি ভেবেছিলাম মেথকম্প প্যাকেজে ডেমিং টিএলএস ছিল - পার্থক্য কী?
999

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