লিনিয়ার রিগ্রেশন সঞ্চালন করুন, তবে কিছু নির্দিষ্ট ডেটা পয়েন্টের মধ্য দিয়ে যেতে সমাধানকে বাধ্য করুন


14

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

খুব সাধারণ এবং দৃ concrete় উদাহরণ হিসাবে, আসুন আমরা বলি যে আমার Xy প্লেনে 100 টি পয়েন্ট ছড়িয়ে আছে এবং আমি সেগুলির মধ্য দিয়ে যাই হোক না কেন অর্ডার বহুত্ববিন্যাসের সাথে মাপসই করা পছন্দ করি। আমি জানি এই লিনিয়ার রিগ্রেশনটি খুব ভালভাবে কীভাবে করা যায়। যাইহোক, আসুন আমি বলি যে আমি আমার সমাধানটি 'জোর' করতে চাই, বলতে চাই, আমার তিনটি ডাটা পয়েন্ট স্থানাঙ্ক , , এবং , (এবং তাদের সম্পর্কিত y- স্থানাঙ্ক) অবশ্যই).x = 19 x = 89x=3x=19x=89

এই সাধারণ পদ্ধতিটি কী বলা হয়, এটি কীভাবে করা হয় এবং আমার কি কোনও বিশেষ সমস্যা সম্পর্কে সচেতন হওয়া দরকার?

সম্পাদনা:

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

ধন্যবাদ!


আপনি যদি বহুভুজ ব্যবহার করছেন তবে কেন আপনি এটিকে "রৈখিক" বলছেন? আপনি যে প্রতিটি পয়েন্টটি দিয়ে যেতে চান তা হ'ল একটি সীমাবদ্ধতা যা আপনার স্বাধীনতার ডিগ্রি হ্রাস করবে। তারপরে আপনি একটি সীমাবদ্ধ অপ্টিমাইজেশন অ্যালগরিদম ব্যবহার করতে পারেন।
কৌতূহলী_কাট

4
এটি লিনিয়ার কারণ আপনি একটি রৈখিক সংমিশ্রণের সহ-কার্যকারিতা সন্ধান করছেন । উদাহরণস্বরূপ, আপনি যদি নিজের ডেটা সাথে ফিট করতে চান তবে আপনি এর সহ-কার্যকারিতা ( 'গুলি) সন্ধান করছেন । cy=c0+c1x+c2x2+c3x3
স্পেসি

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

@ জেসনআর আপনাকে এখানে দেখতে ভাল লাগল। হ্যাঁ ডাব্লুএলএস প্রকৃতপক্ষে একটি আকর্ষণীয় প্রতিযোগী। চতুর বহুপদী ফ্যাক্টেরাইজেশনের কারণে এবং আমি ত্রুটি কাঠামোটি সুন্দরভাবে বজায় রাখার কারণে আমি whubers জবাব দিয়ে চলেছি।
স্পেসি

উত্তর:


19

প্রশ্নে মডেল লেখা যেতে পারে

y=p(x)+(xx1)(xxd)(β0+β1x++βpxp)+ε

যেখানে পূর্বনির্ধারিত পয়েন্টগুলি এবং ডিগ্রি । (ব্যবহারের Lagrange, বহুপদী প্রক্ষেপক ।) লিখন এই মডেল হিসেবে পুনর্লিখন পারবেনp(xi)=yid1(x1,y1),,(xd,yd)ε(xx1)(xxd)=r(x)

yp(x)=β0r(x)+β1r(x)x+β2r(x)x2++βpr(x)xp+ε,

মূল হিসাবে একই ত্রুটি কাঠামোর সাথে একটি স্ট্যান্ডার্ড ওএলএস একাধিক রিগ্রেশন সমস্যা যেখানে স্বতন্ত্র ভেরিয়েবলগুলি হল পরিমাণযুক্ত । কেবল এই ভেরিয়েবলগুলি গণনা করুন এবং আপনার পরিচিত রিগ্রেশন সফ্টওয়্যারটি চালান , এটি একটি ধ্রুবক পদকে অন্তর্ভুক্ত করা থেকে বিরত রাখতে নিশ্চিত করে। ধ্রুবক পদ ব্যতিরেকে রেজিস্ট্রেশন সম্পর্কে স্বাভাবিক সতর্কতা প্রয়োগ করা হয়; বিশেষত, কৃত্রিমভাবে উচ্চতর হতে পারে; সাধারণ ব্যাখ্যাগুলি প্রয়োগ হয় না।p+1r(x)xi, i=0,1,,pR2

(প্রকৃতপক্ষে, উৎপত্তিস্থলটির মধ্য দিয়ে রিগ্রেশন হ'ল এই নির্মাণের একটি বিশেষ কেস যেখানে , , এবং , যাতে মডেলটি )d=1(x1,y1)=(0,0)p(x)=0y=β0x++βpxp+1+ε.


এখানে একটি কাজের উদাহরণ (মধ্যে R)

# Generate some data that *do* pass through three points (up to random error).
x <- 1:24
f <- function(x) ( (x-2)*(x-12) + (x-2)*(x-23) + (x-12)*(x-23) )  / 100
y0 <-(x-2) * (x-12) * (x-23) * (1 + x - (x/24)^2) / 10^4  + f(x)
set.seed(17)
eps <- rnorm(length(y0), mean=0, 1/2)
y <- y0 + eps
data <- data.frame(x,y)

# Plot the data and the three special points.
plot(data)
points(cbind(c(2,12,23), f(c(2,12,23))), pch=19, col="Red", cex=1.5)

# For comparison, conduct unconstrained polynomial regression
data$x2 <- x^2
data$x3 <- x^3
data$x4 <- x^4

fit0 <- lm(y ~ x + x2 + x3 + x4, data=data)
lines(predict(fit0), lty=2, lwd=2)

# Conduct the constrained regressions
data$y1 <- y - f(x)
data$r <- (x-2)*(x-12)*(x-23)
data$z0 <- data$r
data$z1 <- data$r * x
data$z2 <- data$r * x^2

fit <- lm(y1 ~ z0 + z1 + z2 - 1, data=data)
lines(predict(fit) + f(x), col="Red", lwd=2)

পটভূমি

তিনটি নির্দিষ্ট পয়েন্টকে শক্ত লালতে দেখানো হয়েছে - এগুলি ডেটার অংশ নয়। অনিয়ন্ত্রিত চতুর্থ-অর্ডারের বহুপুত্র ন্যূনতম স্কোয়ারগুলি ফিট একটি কালো ডটেড লাইনের সাথে দেখানো হয় (এটিতে পাঁচটি পরামিতি রয়েছে); সীমাবদ্ধ ফিট (পাঁচটি অর্ডারের, তবে কেবল তিনটি বিনামূল্যে প্যারামিটার সহ) লাল রেখার সাথে দেখানো হয়েছে।

সর্বনিম্ন স্কোয়ার আউটপুট পরিদর্শন করা ( summary(fit0)এবং summary(fit)) শিক্ষণীয় হতে পারে - আমি আগ্রহী পাঠকের কাছে এটি ছেড়ে দিই।


হুঁশিয়ার, এটি আকর্ষণীয় ... আমি যদি বলি যে আমি এখনও এটি পুরোপুরি বুঝতে পেরেছি তবে আমি মিথ্যা বলব, তবে আমরা কথা বলার সাথে সাথে এটি হজম করছি। আমি যদি সঠিকভাবে বুঝতে পারি তবে এখানে আমি মূলত যথারীতি জন্য সমাধান করছি , তবে সেগুলি কেবল আগের তুলনায় এর পরিবর্তে দিয়ে গুণিত হচ্ছে , হ্যাঁ? যদি এটি সঠিক হয় তবে আপনি কীভাবে গণনা করছেন ? ধন্যবাদ. βr(x)xixir(x)
স্পেসি

আমি একটি কাজের উদাহরণ যুক্ত করেছি, মোহাম্মদ।
whuber

ওহ, নিখুঁত। আমি এটি অধ্যয়ন করব। আপনার উদাহরণ ব্যবহার করে, এটি এখনও পয়েন্ট অর্জন করে নিজেদের মধ্য দিয়ে যেতে বহু বলপূর্বক সম্ভব হবে হয় যদিও, ডান ডেটার অংশ?
স্পেসি

অবশ্যই এটি করা যেতে পারে: তবে পি-মান বা অন্য কোনও পরিসংখ্যান ব্যাখ্যা করার ক্ষেত্রে দ্বিগুণ সতর্ক থাকুন, কারণ এখন আপনার সীমাবদ্ধতাগুলি তাদের নিজেরাই ডেটা উপর ভিত্তি করে।
whuber

আপনার পোস্টটি আমাকে গতরাতে জাগিয়ে তুলেছিল। আমি নিজেকে এলআইপি শিখিয়েছি। (এলআইপি আকর্ষণীয় It এটি একটি ফুরিয়ার পঁচনের মতো তবে পোলিশ সহ)।
স্পেসি

9

(xi,yi)xixyiy

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

XX2


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


1
xiyi

2
যদিও আরও তিনটি পয়েন্ট ছুঁড়ে ফেলা এবং সেগুলি ওজন করা ( একটি লা গ্লেন_ বি এর উত্তর) এমন উপযুক্ত তৈরি করতে পারে তবে পরিসংখ্যানগুলির আউটপুটটির কোনও ব্যাখ্যা করা সমস্যাযুক্ত হবে: কিছু সামঞ্জস্য প্রয়োজন।
শুক্র

6

লিনিয়ার কেস সম্পর্কে @ গুংয়ের দুর্দান্ত কভারেজটিতে কিছুটা অতিরিক্ত তথ্য যুক্ত করতে, উচ্চতর ক্রমের বহুবচনের ক্ষেত্রে আপনি ঠিক বা আনুমানিকভাবে এটি করতে পারেন এমন বেশ কয়েকটি উপায় রয়েছে (তবে আপনার প্রয়োজনের তুলনায় অনেকটা সঠিকভাবে)।

প্রথম, নোট করুন যে বহুবর্ষের জন্য স্বাধীনতার ডিগ্রিগুলি (বা প্রকৃত কোনও ফিটেড ফাংশনের) কমপক্ষে "জ্ঞাত" পয়েন্টগুলির সংখ্যার চেয়ে বড় হতে হবে। যদি স্বাধীনতার ডিগ্রি সমান হয় তবে আপনার কোনও উপায়েই লাগবে না, যেহেতু বাঁকটি সম্পূর্ণ নির্ধারিত। যদি আরও 'জ্ঞাত' পয়েন্ট থাকে তবে আপনি এটিকে সমাধান করতে পারবেন না (যদি না তারা সকলে নির্দিষ্ট ডিগ্রির ঠিক সেই একই বহুরূপে থাকে যা কোনও ক্ষেত্রে উপযুক্ত আকারের সাবসেটই যথেষ্ট will এখান থেকে, আমি কেবল তখনই কথা বলব যখন বহিরাগতটি জ্ঞাত পয়েন্টগুলির চেয়ে বেশি ডিএফ থাকে (যেমন একটি ঘনক - 4 ডিএফ সহ - এবং তিনটি পরিচিত পয়েন্ট, যাতে ঘনকটি না হয় পয়েন্টগুলি দ্বারা অত্যধিক নির্ধারিত হয় বা তাদের দ্বারা সম্পূর্ণ নির্ধারিত হয়) ।

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

  (ক) প্রতিটি নিম্নাণীর নিম্নরূপে প্রতিটি প্রতিবন্ধকে স্পষ্টভাবে অন্তর্ভুক্ত করার জন্য প্যারামিটারাইজেশন পুনরায় পরীক্ষা করা।

  (খ) স্ট্যান্ডার্ড সরঞ্জামগুলি ব্যবহার করে যা কমপক্ষে স্কোয়ারের পরামিতিগুলির ক্ষেত্রে রৈখিক সীমাবদ্ধতাগুলিকে অন্তর্ভুক্ত করতে পারে using (সাধারণত উপরের লিঙ্কে প্রদত্ত সূত্রের মতো কিছু মাধ্যমে)

2) আরেকটি উপায় হ'ল ওয়েটেড রিগ্রেশন via আপনি যদি জ্ঞাত পয়েন্টগুলি পর্যাপ্ত পরিমাণে ওজন দেন তবে আপনি মূলত (1) হিসাবে একই ফিট পেতে পারেন। এটি প্রায়শই সহজেই প্রয়োগ করা হয়, পুনঃমিতিকরণের চেয়ে যথেষ্ট দ্রুত হতে পারে এবং প্যাকেজগুলিতে করা যেতে পারে যা সীমাবদ্ধ ফিটিং দেয় না।

@ গুং এর সমস্ত ক্যাভেটস প্রযোজ্য


গ্লেন_বি, আমি ভারী রিগ্রেশন বিবেচনা করি নি। এটি সম্পর্কে যেতে উপায় হতে পারে। আমি আমার করণীয় তালিকায় রেখেছি। আমি বিশ্বাস করি যে আমি নিজেকে ঘটনাটি শিখিয়ে দিতে পারি। (1) সম্পর্কিত, আপনি কি দয়া করে পুনরায় প্যারামেটেরাইজেশনের এই দিকটি প্রসারিত করতে পারেন? এছাড়াও, আপনি কীটিকে 'কল' বলার চেষ্টা করছি যা আমি করার চেষ্টা করছি, যেখানে আমি বহুবর্ষকে নির্দিষ্ট পয়েন্টগুলির মধ্য দিয়ে যেতে বাধ্য করি? সমস্যার অংশটি হ'ল আমি কী গুগল করব তা জানি না। এটিকে কী বলা হয়েছিল তা যদি আমি জানি তবে আপনি অনলাইন সামগ্রীতে কী বলছেন তা আমি বাড়িয়ে তুলতে সক্ষম হতে পারি। ধন্যবাদ।
স্পেসি

উপরের আমার সম্পাদনাগুলি দেখুন, যাতে কয়েকটি অনুসন্ধান পদ এবং আরও কয়েকটি বিশদ সহ একটি লিঙ্ক অন্তর্ভুক্ত রয়েছে।
গ্লেন_বি -রিনস্টেট মনিকা

2
+1 ওয়েটড রিগ্রেশন একটি দুর্দান্ত ধারণা। আরএমএস ত্রুটির অনুমান হিসাবে আউটপুট পরিসংখ্যানগুলির কিছু সমন্বয় প্রয়োজন হতে পারে।
whuber

s2FR2

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