লিনিয়ার রিগ্রেশন কোন অ্যালগরিদম ব্যবহার করা হয়?


42

আমি সাধারণত "সাধারণ ন্যূনতম স্কোয়ার" সম্পর্কে শুনি। লিনিয়ার রিগ্রেশন জন্য কি এটি বহুল ব্যবহৃত আলগোরিদম ব্যবহার করা হয়? একটি আলাদা ব্যবহার করার কারণ আছে?


@hxd, ডিজাইনের ম্যাট্রিক্সের কোনও বিশেষ কাঠামো বাদ দিয়ে, এগুলি সমস্ত O(mn2) অ্যালগোরিদম, কেবল ধ্রুবক কারণের মধ্যে পৃথক। সংখ্যামূলক লিনিয়ার বীজগণিতের fromতিহ্য থেকে উত্তরাধিকার সূত্রে পচনশীল পদ্ধতির একটি ভাল অভ্যাস।
জেএম কোনও সংখ্যাতাত্ত্বিক নয়

@ এইচএক্সডি, এবং সে কারণেই আমার উত্তরটি জড়িত অ্যালগরিদমের বিবরণ হিসাবে তৈরি করা হয়েছিল। যদি আপনার কাছে এই থ্রেডটি অন্তর্ভুক্ত নয় এমন প্রশ্ন থাকে তবে একটি নতুন প্রশ্ন জিজ্ঞাসা করুন।
জেএম

উত্তর:


32

শিরোনামে থাকা প্রশ্ন সম্পর্কে, যে অ্যালগরিদমটি ব্যবহৃত হয় তা সম্পর্কে:

লিনিয়ার বীজগণিতের দৃষ্টিকোণে, লিনিয়ার রিগ্রেশন অ্যালগোরিদম হ'ল একটি অজানা অপেক্ষা আরও সমীকরণ সহ একটি লিনিয়ার সিস্টেম সমাধান করার উপায় Ax=b। বেশিরভাগ ক্ষেত্রেই এই সমস্যার কোনও সমাধান হয় না। এবং এটি কারণ ভেক্টর , সি ( )b এর কলাম স্পেসের সাথে সম্পর্কিত নয় ।AC(A)

best straight linee=Axb বি সে ( )e2bC(A)

প্রক্ষিপ্ত করা (orthogonally) ভেক্টর কলাম স্থান নিকটতম বিন্দু ভেক্টর দেয় যে সমাধান সিস্টেম (এটা উপাদান সেরা সরল রেখায় থাকা) কমপক্ষে ত্রুটি সহ।bAb

ATAx^=ATbx^=(ATA)1ATb

এবং প্রস্তাবিত ভেক্টর দ্বারা দেওয়া হয়েছে:b

b=Ax^=A(ATA)1ATb

সম্ভবত সর্বনিম্ন স্কোয়ার পদ্ধতিটি একচেটিয়াভাবে ব্যবহৃত হয় না কারণ এটি squaring বিদেশীদের জন্য অতিরিক্ত ক্ষতিপূরণ করে।

আমি আর এর একটি সাধারণ উদাহরণ দিই যা এই অ্যালগরিদমটি ব্যবহার করে রিগ্রেশন সমস্যার সমাধান করে:

library(fBasics)

reg.data <- read.table(textConnection("
   b      x
  12      0
  10      1
   8      2
  11      3
   6      4
   7      5
   2      6
   3      7
   3      8 "), header = T)

attach(reg.data)

A <- model.matrix(b~x)

# intercept and slope
inv(t(A) %*% A) %*% t(A) %*% b

# fitted values - the projected vector b in the C(A)
A %*% inv(t(A) %*%A ) %*% t(A) %*% b

# The projection is easier if the orthogonal matrix Q is used, 
# because t(Q)%*%Q = I
Q <- qr.Q(qr(A))
R <- qr.R(qr(A))

# intercept and slope 
best.line <- inv(R) %*% t(Q) %*% b

# fitted values 
Q %*% t(Q) %*% b

plot(x,b,pch=16)
abline(best.line[1],best.line[2])

আমি কোন ভুল পেয়েছি could not find inv?!
এইচ এইচ

1
FBasics প্যাকেজটি লোড করুন। Finzi.psych.upenn.edu/R/library/fBasics/html/matrix-inv.html
জর্জ ডোনটাস

5
এটি সমাধানের প্রতিশব্দ হিসাবে যখন fBasics থেকে আমন্ত্রণটি ব্যবহার করার কোনও কারণ আছে? অপ্রয়োজনীয় হলে বাহ্যিক প্যাকেজগুলির উপর নির্ভরতার প্রয়োজন না জবাবের পক্ষে কি ভাল হবে?
Dason

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

@ জর্জিডোনটাস নোট করুন যে এটি হতে পারে যে অবিচ্ছিন্ন নয়। এই উত্তরে বর্ণিত হিসাবে , এর সাথে মোকাবিলা করার একটি উপায় অন্যান্য কলামগুলির লিনিয়ার সংমিশ্রণকারী কলামগুলি থেকে সরিয়ে দেওয়া is ATAA
ওড়েন মিলম্যান

70

প্রশ্নের চিঠির উত্তর দেওয়ার জন্য, "সাধারণ সর্বনিম্ন স্কোয়ারগুলি" কোনও অ্যালগরিদম নয়; বরং এটি গণনামূলক লিনিয়ার বীজগণিতের মধ্যে এক ধরণের সমস্যা, যার মধ্যে লিনিয়ার রিগ্রেশন একটি উদাহরণ। সাধারণত ফর্মের সাথে ডেটা fit এবং ফাংশন ("মডেল" । "ভিত্তিতে ফাংশন" বলা হয় এবং monomials থেকে কিছু হতে পারে ত্রিকোণমিতিক ফাংশন (যেমন থেকে , ) এবং সূচকীয় ফাংশন ( )। "লিনিয়ার রিগ্রেশন" এর "লিনিয়ার" শব্দটি এখানে বেস ফাংশনকে বোঝায় না,{(x1,y1),,(xm,ym)}f(x)=c1f1(x)++cnfn(x)fj(x)xjsin(jx)cos(jx)exp(jx)cj, যে কোনও কে সম্মানের সাথে মডেলের আংশিক ডেরাইভেটিভ গ্রহণ করা আপনাকে গুণক দেয় ; অর্থাৎ ।cjcjfj(x)

এক এখন একটি আছে আয়তক্ষেত্রাকার ম্যাট্রিক্স ( "নকশা ম্যাট্রিক্স") যে (সাধারণত) কলাম চেয়ে আরো সারি আছে, এবং প্রতিটি এন্ট্রি ফর্ম হল , সারি সূচক হচ্ছে এবং হচ্ছে কলাম সূচক। ওএলএস এখন ভেক্টর সন্ধান করার কাজ যা পরিমাণকে হ্রাস করে (ম্যাট্রিক্স স্বরলিপিতে, ; এখানে, সাধারণত "প্রতিক্রিয়া ভেক্টর" বলা হয়)।m×nAfj(xi)ijc=(c1cn)j=1m(yjf(xj))2Acy2y=(y1ym)

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

জর্জ ইতিমধ্যে তার উত্তরে সাধারণ সমীকরণের পদ্ধতিটি দেখিয়েছিলেন; এক কেবল লিনিয়ার সমীকরণের সেট সমাধান করেn×n

AAc=Ay

জন্য । ম্যাট্রিক্স প্রতিসম ধনাত্মক (আধা) সুনির্দিষ্ট কারণে, এর জন্য ব্যবহৃত স্বাভাবিক পদ্ধতিটি হ'ল কোলেস্কি পচন, যা কারণগুলি the ফর্মটিতে , নিম্ন ত্রিভুজাকার ম্যাট্রিক্স সহ। এই পদ্ধতির সমস্যাটি, যদিও ডিজাইন ম্যাট্রিক্সকে একটি (সাধারণত) অনেক ছোট ম্যাট্রিক্সে সংকুচিত করতে সক্ষম হওয়া সত্ত্বেও , এই ক্রিয়াকলাপটি উল্লেখযোগ্য পরিসংখ্যানগুলির ক্ষতির আশঙ্কায় রয়েছে (এর কিছু আছে ডিজাইনের ম্যাট্রিক্সের "শর্ত নম্বর" দিয়ে করুন)।cAAAAGGGm×nn×n

কিছুটা ভাল উপায় হল কিউআর পচন, যা সরাসরি নকশার ম্যাট্রিক্সের সাথে কাজ করে। এটি কারণ হিসাবে হিসাবে factors , যেখানে একটি orthogonal ম্যাট্রিক্স (তার ট্রান্সপোজ দিয়ে এমন ম্যাট্রিক্সকে গুণিত করা একটি পরিচয় ম্যাট্রিক্স দেয়) এবং upper হ'ল উপরের ত্রিভুজাকার। পরবর্তীকালে হিসেবে নির্ণয় করা হয় । কারণে আমি (কোন শালীন সংখ্যাসূচক রৈখিক বীজগণিত টেক্সট, মত দেখতে মধ্যে পাবেন না এই এক ) এই স্বাভাবিক সমীকরণ পদ্ধতি বেশী ভালো সংখ্যাসূচক বৈশিষ্ট্য আছে।AA=QRQRcR1Qy

কিউআর পচে যাওয়া ব্যবহারে একটি ভিন্নতা হ'ল সেমিনারাল সমীকরণের পদ্ধতি । সংক্ষেপে, যদি কারও পচন has থাকে তবে সমাধান করা লিনিয়ার সিস্টেমটি রূপ নেয়A=QR

RRc=Ay

কার্যকরভাবে, কেউ এই পদ্ধতির of এর কোলেস্কি ত্রিভুজ তৈরি করতে QR পচন ব্যবহার করছে । এটি সেই ক্ষেত্রে কার্যকর যেখানে অপ্রয়োজনীয় এবং স্পষ্ট স্টোরেজ এবং / অথবা (বা এর একটি কল্পিত সংস্করণ) গঠন অবাঞ্ছিত বা অযৌক্তিক।AAAQ

অবশেষে, ওএলএস সমাধানের সবচেয়ে ব্যয়বহুল, তবে সবচেয়ে নিরাপদতম উপায় হ'ল একক মান ভলন (এসভিডি)। এবার যেমন উপাদান হয় , যেখানে এবং উভয় লম্ব হয় , এবং = ইউ Σ ভিইউ ভি ΣAA=UΣVUVΣএকটি তির্যক ম্যাট্রিক্স, যার তির্যক এন্ট্রিগুলিকে "একবাক্য মান" বলা হয়। এই পচন শক্তিটি একক মানগুলির দ্বারা প্রদত্ত ডায়াগনস্টিক ক্ষমতার মধ্যে রয়েছে, যদি কেউ এক বা একাধিক ক্ষুদ্র একক মান দেখায় তবে সম্ভবত আপনি একটি সম্পূর্ণ স্বতন্ত্র ভিত্তিক সেটটি বেছে নিয়েছেন, সুতরাং এটির সংশোধন প্রয়োজন আপনার মডেল (পূর্বে উল্লিখিত "কন্ডিশন নম্বর" প্রকৃতপক্ষে সবচেয়ে ছোট একের সাথে একক মানের মানের অনুপাতের সাথে সম্পর্কিত; কোর্সের অনুপাতটি বিশাল হয়ে যায় (এবং ম্যাট্রিক্সটি এইভাবে শর্তসাপেক্ষ)) যদি ক্ষুদ্রতম একক মানটি "ক্ষুদ্র" হয় ।)

এটি কেবল এই তিনটি অ্যালগরিদমের একটি স্কেচ; গণনা সংক্রান্ত পরিসংখ্যান এবং সংখ্যাগত লিনিয়ার বীজগণিত সম্পর্কিত যে কোনও ভাল বই আপনাকে আরও প্রাসঙ্গিক বিশদ দিতে সক্ষম হবে।


3
সুন্দর ব্যাখ্যা!
মাইক স্পাইভে

R^{-1} Q^T yA বর্গক্ষেত্র না হলে আপনি কীভাবে গণনা করবেন ? আপনি কি আর-তে শূন্য সারি ফেলেছেন?
ভান

1
@ ভান, আমি কিউআর পচনের "অর্থনীতি" (বা "পাতলা") রূপটি ধরে নিচ্ছি, যেখানে বর্গক্ষেত্র এবং ম্যাথবিএফ কিউয়ের নকশা ম্যাট্রিক্সের মতো একই মাত্রা রয়েছে। আপনার করার জন্য কিছু: "ফুল কিউআর" এবং "পাতলা কিউআর" এর মধ্যে পার্থক্যটি সন্ধান করুন। কিRQ
জেএম

@ জেএম "কম্পিউটারের পরিসংখ্যান এবং সংখ্যাসূচক লিনিয়ার বীজগণিত সম্পর্কিত ভাল বই" সম্পর্কে কোনও সুপারিশ আছে? সত্যিই আরও শিখতে চাই
হাইটাও দু

1
@hxd, আমার মাথার উপরের অংশটি: গণনার পরিসংখ্যানগুলির জন্য মনোহান এবং সংখ্যাগত রৈখিক বীজগণিতের জন্য গোলুব / ভ্যান anণ।
জেএম কোনও সংখ্যাতাত্ত্বিক নয়

6

উইকির লিঙ্ক: লিনিয়ার রিগ্রেশন জন্য অনুমানের পদ্ধতিগুলি ওএলএস এবং প্রসঙ্গগুলি যেখানে বিকল্প অনুমান পদ্ধতি ব্যবহার করা হয় সেগুলি সহ অনুমান পদ্ধতির একটি মোটামুটি বিস্তৃত তালিকা দেয়।


1
প্রশ্নটি
সম্বোধন

4

সংজ্ঞা এবং পরিভাষার মধ্যে বিভ্রান্ত হওয়া সহজ। উভয় পদ ব্যবহার করা হয়, কখনও কখনও বিনিময়যোগ্য। উইকিপিডিয়ায় একটি দ্রুত অনুসন্ধানে সহায়তা করা উচিত:

লর্ডার রিগ্রেশন মডেলগুলির সাথে ফিট করার জন্য সাধারণ লেস্ট স্কোয়ারস (ওএলএস) একটি পদ্ধতি। ওএলএস পদ্ধতির প্রদর্শিত ধারাবাহিকতা এবং দক্ষতার (পরিপূরক অনুমানের অধীনে) কারণে এটি প্রভাবশালী পদ্ধতির। আরও সীসা জন্য নিবন্ধগুলি দেখুন।


ঠিক আছে, এজন্যই আমি ওএলএসকে লিনিয়ার রিগ্রেশন-এ ব্যবহৃত "অ্যালগরিদম" হিসাবে বিবেচনা করি ...
বেলমন্ট

3
সাধারণ সর্বনিম্ন স্কোয়ারগুলি একটি অনুমানকারী। অনুমানটি গণনা করার জন্য বিভিন্ন ধরণের অ্যালগরিদম রয়েছে: সাধারণত কিউআর এর মতো কিছু ধরণের অরথোগোনাল ম্যাট্রিক্স পচন ব্যবহৃত হয়। En.wikedia.org/wiki/…
সাইমন

4

আমি সেরা ফিটিং রিগ্রেশন রেখাটি সংজ্ঞায়নের জন্য একটি মানদণ্ড হিসাবে 'ন্যূনতম স্কোয়ারগুলি' ভাবার প্রবণতা রাখি (যেমন, এটি 'স্কোয়ার্ড' অবশিষ্টাংশের যোগফলকে সর্বনিম্ন 'করে তোলে) এবং এই প্রসঙ্গে' অ্যালগরিদম 'ব্যবহৃত পদক্ষেপের সেট হিসাবে সেই মানদণ্ডকে সন্তুষ্ট করে এমন রিগ্রেশন সহগগুলি নির্ধারণ করতে। এই পার্থক্যটি সুপারিশ করে যে একই মাপদণ্ডটি পূরণ করতে পারে এমন বিভিন্ন অ্যালগোরিদম থাকা সম্ভব।

অন্যরা এই পার্থক্যটি নির্ধারণ করে এবং তারা কোন পরিভাষা ব্যবহার করে তা জানতে আগ্রহী be


অ্যালগরিদম দ্বারা, আমি প্রায় কোনও সফ্টওয়্যার বাস্তবায়ন বলতে একটি বন্টনের গড়কে মডেল করার জন্য একটি লাইন লাগানোর জন্য ব্যবহৃত হয়।
বেলমন্ট

3

একটি পুরানো বই, তবুও আমি নিজেকে বারবার ঘুরে দেখছি is

লসন, সিএল এবং হ্যানসন, আরজে সল্ভিং লিস্ট স্কোয়ার্স সমস্যা , প্রেন্টাইস-হল, 1974,

এটি পূর্ববর্তী উত্তরগুলি উল্লেখ করেছে এমন কয়েকটি অ্যালগোরিদমের বিশদ এবং খুব পঠনযোগ্য আলোচনা রয়েছে। আপনি এটি তাকান করতে পারে।


1
আপনি যদি এই পুরাতন বইটি পড়ে থাকেন তবে আপনাকে লসন / হ্যানসনে আলোচনা করা হয়নি এমন স্বল্প স্কোয়ার সমস্যাগুলির জন্য বেকার্কের সংখ্যা পদ্ধতিতেও নজর দেওয়া উচিত । লসন / হ্যানসন বইয়ের অন্তর্ভুক্ত রুটিনগুলি নেটলিব থেকে পাওয়া যায়
জেএম
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.