PCA : the math - step-by-step with a simple example

แชร์
ฝัง
  • เผยแพร่เมื่อ 24 ธ.ค. 2024

ความคิดเห็น • 129

  • @saifqawasmeh9664
    @saifqawasmeh9664 2 ปีที่แล้ว +60

    You're probably the only one on the Internet who explained PCA mathematically! Thank you so much!

  • @abebawt1169
    @abebawt1169 9 หลายเดือนก่อน +7

    After I watch this video, I feel like everyone else make PCA complicated, deliberately. Thank you for making it easy!

  • @scottzeta3067
    @scottzeta3067 2 ปีที่แล้ว +11

    This video is totally underated. If my uni's lecture is even half good as yours, I won't spend so much time.

  • @aindrilasaha1592
    @aindrilasaha1592 3 ปีที่แล้ว +40

    Trust me after having spent hours on google and youtube, this is the best thing that i found on PCA, hats off to you and thanks a lot!!
    Wish you all the best for your channel.

    • @tilestats
      @tilestats  3 ปีที่แล้ว +5

      Thank you!

    • @pipsch12
      @pipsch12 2 ปีที่แล้ว +6

      I so agree. I don't understand why PCA is presented in such an overly complicated fashion by almost everybody. This video is so simple because it covers every step of the process and gives clear and easy explanations without unnecessary details and confusing language. THANK YOU.

    • @SanthoshKumar-dk8vs
      @SanthoshKumar-dk8vs ปีที่แล้ว

      True, great explanation 👏

  • @RayRay-yt5pe
    @RayRay-yt5pe 5 หลายเดือนก่อน +3

    I can't believe the concept can be explained this simply! Nice one! You have a new subscriber. I honestly think it's criminal that something this simple is made overly convoluted by other individuals.

  • @ronaldkanyepi2958
    @ronaldkanyepi2958 หลายเดือนก่อน +2

    This is the best PCA video l have found.

  • @randbak1527
    @randbak1527 ปีที่แล้ว +4

    totally underrated video I've been searching for a simple yet informative explanation of PCA and you are the best you should be the top on on the search . thank you

  • @ramkumargorre2958
    @ramkumargorre2958 2 ปีที่แล้ว +3

    This is one of the best videos explained the PCA concept mathematically.

  • @michaeldouglas7641
    @michaeldouglas7641 2 ปีที่แล้ว +18

    I would like to sincerely thank you for this video. Almost all YT maths videos only focus on the high level concepts. Finding a linear, step by step explication of the process is rare. Please do make more of these videos. Others I would love to see are: a step by step of one of the GLM's (logistic?), a SBS of gaussian process, and maybe a step by step of factor analysis. Thanks again

    • @tilestats
      @tilestats  2 ปีที่แล้ว

      Thank you! I think my videos about logic regression will interest you. You find all my videos at
      www.tilestats.com

  • @notknown42
    @notknown42 2 ปีที่แล้ว +1

    Best PCA video I have seen at this platform. Well done - Greetings from Germany

  • @sefatergbashi
    @sefatergbashi 2 ปีที่แล้ว +3

    Best lecture on PCA calculations so far!
    Thank you

  • @endritgooglekonto230
    @endritgooglekonto230 11 หลายเดือนก่อน +1

    best tutorial ever on PCA I have ever found!

  • @sasakevin3263
    @sasakevin3263 2 ปีที่แล้ว

    Your video gave me 100% understanding of PCA, before that, I know nothing about PCA. Thank you!

  • @sakkariyaibrahim2650
    @sakkariyaibrahim2650 4 หลายเดือนก่อน

    Great lecture. Best explanation of PCA that I could find in internet

  • @crickethighlight555
    @crickethighlight555 ปีที่แล้ว +1

    Tomorrow will be my quiz I had not even attend the lecture but after watching your tutorial I am ready for quiz so Thanks 🙏

  • @shankars4384
    @shankars4384 ปีที่แล้ว +1

    You are the best TileStats. I love you a lot man!

  • @mohdzoubi3819
    @mohdzoubi3819 2 ปีที่แล้ว +3

    It is a great video. The corresponding PDF file of this video is also great .Thank you very much.

  • @NatnichaSujarae
    @NatnichaSujarae 7 หลายเดือนก่อน +1

    you're a life saver! I've been trying to understand this for daysssss and this is the only video that nailed it! Thank you so muchhh

  • @TranHoangNam_A-km3vj
    @TranHoangNam_A-km3vj ปีที่แล้ว

    you are the best teacher i ever known

  • @wlt6311
    @wlt6311 ปีที่แล้ว +1

    Thanks for this nice video, best explaination of PCA. Others just explain without showing the calculation.

  • @divyab592
    @divyab592 ปีที่แล้ว +1

    best explanation of PCA so far!!! thank you so much

  • @ConfusedRocketShip-fv7qy
    @ConfusedRocketShip-fv7qy ปีที่แล้ว

    Amazing! Best teacher for PCA

  • @firstkaransingh
    @firstkaransingh 2 ปีที่แล้ว +6

    Excellent explanation of a very complex topic.
    Please do try to explain the SVD procedure if you can.
    Thanks 👍

  • @danialb9894
    @danialb9894 ปีที่แล้ว +1

    Best explanation for PCA. Thank you. Wish you the best ❤❤

  • @arunkumar0702
    @arunkumar0702 2 ปีที่แล้ว +1

    Very well explained ... indeed !! Keep up the good work ..!!
    Many thanks for conceiving and producing this excellent series on PCA. I look forward to viewing your videos on other topics !!

    • @valerianaazuing6008
      @valerianaazuing6008 2 ปีที่แล้ว

      Zz

    • @valerianaazuing6008
      @valerianaazuing6008 2 ปีที่แล้ว

      Zz

    • @valerianaazuing6008
      @valerianaazuing6008 2 ปีที่แล้ว

      Use the edit icon to pin, add or delete clips.Use the edit icon to pin, add or delete clips.

    • @valerianaazuing6008
      @valerianaazuing6008 2 ปีที่แล้ว

      Use the edit icon to pin, add or delete clips.Use the edit icon to pin, add or delete clips.Use the edit icon to pin, add or delete clips.

    • @valerianaazuing6008
      @valerianaazuing6008 2 ปีที่แล้ว

      Use the edit icon to pin, add or delete clips.

  • @nassersaed4993
    @nassersaed4993 11 หลายเดือนก่อน

    Hi, thanks for the very informative tutorial, can you please explain at 11:00 how you obtained the pc scores by multiplying the eigenvector matrix with centred data?

    • @tilestats
      @tilestats  11 หลายเดือนก่อน +1

      Have a look at this video, starting at about 9 min, to see how to do matrix multiplication:
      th-cam.com/video/QtAZsWseIKk/w-d-xo.html

    • @nassersaed4993
      @nassersaed4993 11 หลายเดือนก่อน

      Okay, got it ! thank you so much🙏

  • @andresromeroramos5410
    @andresromeroramos5410 2 ปีที่แล้ว +1

    I simply loved your teaching way. AWESOME video!

  • @alaghaderi9079
    @alaghaderi9079 2 ปีที่แล้ว +1

    One of the best videos about pca that I have seen. but where is svd ?:))

  • @ZarshinaBaltistani
    @ZarshinaBaltistani หลายเดือนก่อน +1

    thank you so much for the detailed video

  • @gacemamine5970
    @gacemamine5970 5 หลายเดือนก่อน +1

    Fantastic explanation👑👑👑, Thank you very much.

  • @wondwossengebretsadik3334
    @wondwossengebretsadik3334 3 ปีที่แล้ว +1

    This is an excellent explanation. Thanks a lot.

  • @joaovictorf.r.s.1570
    @joaovictorf.r.s.1570 ปีที่แล้ว +1

    Perfect presentation! Thanks!

  • @oscarernestocl9319
    @oscarernestocl9319 2 ปีที่แล้ว

    for the example that starts @18:00 , first you have vector [-2/ 3] , then you multiply by the covariance matrix to get vector: [8 / 12] (to transform the vector), and then you multiply again [8/12] by the covariance matrix to get the direction of the eigenvector. However, in the second example you dont transform the vector and just multiply the initial one [4/1] by the covariance matrix. So my question is: why it is necessary to transform the vector in the first case? Thank youu!!!

    • @tilestats
      @tilestats  2 ปีที่แล้ว +1

      I just show one iteration in the second example but the more iterations you do (multiply the new vector with the covariance matrix), the closer you will get to the eigenvector.

  • @coffee-pot
    @coffee-pot 2 ปีที่แล้ว

    Thank you so much. Your videos are the best and this particular video is beyond amazing.

  • @BrenerHotz
    @BrenerHotz 3 หลายเดือนก่อน +1

    Thank you for make it easy!

  • @anmolpardeshi3138
    @anmolpardeshi3138 7 หลายเดือนก่อน

    I see that you centered the data. Is only centering required for "standardization" or scaling is also normally done such that the mean =0; standard deviation=1? this will then change the covariance matrix since variance of individual dimensions will equal 1.

    • @tilestats
      @tilestats  7 หลายเดือนก่อน

      It is not a requirement, mathematically, to standardize your data (mu = 0, SD = 1), but it is highly recommended, especially if you have variables with a large difference in the variance. I discuss that in the next video about PCA:
      th-cam.com/video/dh8aTKXPKlU/w-d-xo.html

  • @Fa94La
    @Fa94La ปีที่แล้ว +1

    Thanks for that video what name of book that you depend upon?

    • @tilestats
      @tilestats  ปีที่แล้ว

      I mainly used internet to learn ML.

  • @AbhishekVerma-kj9hd
    @AbhishekVerma-kj9hd ปีที่แล้ว +1

    God bless you sir what an amazing explanation I'm really touched and thank you for this video

  • @nikeforo2612
    @nikeforo2612 2 ปีที่แล้ว +3

    Your videos are a godsend, extremely helpful and clear. Thanks a lot. Is there any chance you will cover Correspondence Analysis any time soon? That would nicely complement the series of videos on data dimensionality reduction techniques. Just wondering....

    • @tilestats
      @tilestats  2 ปีที่แล้ว

      Thank you! That method is not on my list but maybe in the future. However, there will soon be a video on principal component regression.

  • @mahdi1594
    @mahdi1594 2 ปีที่แล้ว

    bro, great job, love the way you explain things. You might see this comment copied and pasted across few of your other videos, I am just doing this for the algorithm.

  • @KS-df1cp
    @KS-df1cp 3 ปีที่แล้ว +1

    Great but not sure how you got normalized values of eigen vectors. Can you please direct me towards that video or step you skipped? Thanks. Also, what are the eigen vectors that you get for eigen value 0.32? My simplified value of y is -0.72 x I dont know why you got 0.81.

    • @tilestats
      @tilestats  3 ปีที่แล้ว

      th-cam.com/video/9CT0jnem4vM/w-d-xo.html
      Starts at around 8 min.

    • @KS-df1cp
      @KS-df1cp 3 ปีที่แล้ว

      @@tilestats Got it and I forgot to take the sqrt of the denominator :/ thank you again

    • @mwanganamubita9617
      @mwanganamubita9617 2 ปีที่แล้ว

      @@tilestats Thanks for this very informative video. I have one question - For lambda = 0.32, I am getting y = -0.73 when x =1, the normalized vector with unit length of 1 is [0.81, -0.59] instead of [-0.81, 0.59]. Please verify and advise

    • @tilestats
      @tilestats  2 ปีที่แล้ว +2

      If you set x= 1, you get [0.81, -0.59], but if you set y=1, you will get [-0.81, 0.59]. If you set x to 1, or y to 1, is arbitrary because both vectors are eigenvectors to the covariance matrix (they just point in the opposite direction). Both vectors will give the same variance of PC2.

    • @mwanganamubita9617
      @mwanganamubita9617 2 ปีที่แล้ว

      @@tilestats Many thanks for the explanation. Much appreciated!

  • @ankhts
    @ankhts 2 ปีที่แล้ว +1

    Able to understand mathematics of PCA with your videos ...Many Thanks ... if you reading this comment do watch explanation on GLM , probably best explaination available on youtube

  • @hammasmajeed3715
    @hammasmajeed3715 2 ปีที่แล้ว +1

    Your videos are very helpful . Thanks

  • @omerkumbasar5402
    @omerkumbasar5402 18 วันที่ผ่านมา +1

    amazing job , thank you

  • @gabrielfrattini4090
    @gabrielfrattini4090 2 ปีที่แล้ว +2

    This was amazing, so clear

  • @eaintthu3488
    @eaintthu3488 2 ปีที่แล้ว +1

    please explain about kernel PCA

  • @RobertWei-p1l
    @RobertWei-p1l 2 ปีที่แล้ว +1

    man, it's so helpful, thank you so much!!!

  • @sakkariyaibrahim2650
    @sakkariyaibrahim2650 4 หลายเดือนก่อน

    Please tell me what it means if direction is changed?

  • @SS-pn7ss
    @SS-pn7ss ปีที่แล้ว +1

    thank you so much for this great video

  • @RuiLima1981
    @RuiLima1981 ปีที่แล้ว

    minute 6.17, how did you get the value 3.84? Should it not be 35.2?

    • @tilestats
      @tilestats  ปีที่แล้ว

      4.4 x 8 - 5.6 x 5.6 = 3.84

  • @ramankaur5657
    @ramankaur5657 ปีที่แล้ว

    hi, instead of center(ing) the data, is it also viable to standardise the data?

    • @tilestats
      @tilestats  ปีที่แล้ว

      Sure, have a look at the next video:
      th-cam.com/video/dh8aTKXPKlU/w-d-xo.html

    • @ramankaur5657
      @ramankaur5657 ปีที่แล้ว

      ​@@tilestats Thanks, I just watched it! Hoping you could help me with following as well: if I am applying the eigenvectors to another set of new data (with same variables as the original data) (i.e., not the original data i ran PCA on), I assume I should also standardise the new data before applying the eigenvector (weighting) on the new data?

  • @wanqin3396
    @wanqin3396 ปีที่แล้ว

    why for the standarlization of data did not need to divide standard deviation

    • @tilestats
      @tilestats  ปีที่แล้ว

      Here I only center the data, but you can also standardize as I do in this video
      th-cam.com/video/dh8aTKXPKlU/w-d-xo.html

  • @BushiZack
    @BushiZack 11 หลายเดือนก่อน +1

    Good job man!!! Thank you so much

  • @bobrarity
    @bobrarity ปีที่แล้ว +1

    appreciate the video, helped a lot

  • @fredbatti
    @fredbatti 3 ปีที่แล้ว +1

    Amazing Video, very well explained. A question: Anybody knows a way to sum the eigenvectors (weights) to 1. To exactly how much of of orginal valeus contribute to the component?

    • @tilestats
      @tilestats  3 ปีที่แล้ว +1

      Thank you! To transform the weights so that they sum to one, simply divide each weight by the sum of the weights (given that the weights are positive). However, I usually like to think of the weights as correlation coefficients as I explain in the fourth video about PCA.

    • @fredbatti
      @fredbatti 3 ปีที่แล้ว

      @@tilestats I have find out that if we power all the weights by 2 it will end up summing to 1 ! regardless the signal. Thanks for the contribution ! Appreciate it

    • @tilestats
      @tilestats  3 ปีที่แล้ว

      Yes, but note that the weights are usually expressed as loadings (see PCA 4 video) by most statistical software tools. The square of these loadings do not then sum up to one.

  • @dpi3
    @dpi3 ปีที่แล้ว +1

    absolutely brilliant!

  • @polarbear986
    @polarbear986 2 ปีที่แล้ว +1

    This is so good, Thank you!

  • @sainivasgandham7982
    @sainivasgandham7982 10 หลายเดือนก่อน

    why did you take n-1 while calculating the covariance matrix

    • @tilestats
      @tilestats  10 หลายเดือนก่อน

      Because that is how you calculate the variance. Have a look at this video if you like to know more:
      th-cam.com/video/pLH1QA4F9uE/w-d-xo.html

  • @cindywang8852
    @cindywang8852 3 ปีที่แล้ว +1

    Very informative! Thank you!

  • @aishwaryapant-w7s
    @aishwaryapant-w7s ปีที่แล้ว

    9:17 how to do normalization?

    • @tilestats
      @tilestats  ปีที่แล้ว

      Have a look at around 8 min in this video:
      th-cam.com/video/9CT0jnem4vM/w-d-xo.html

    • @aishwaryapant-w7s
      @aishwaryapant-w7s ปีที่แล้ว

      @@tilestats OKAY THANK YOU

  • @rahuldebdas5608
    @rahuldebdas5608 ปีที่แล้ว

    Sir can you please upload a similar mathematical video on oblige rotation of Principal components? It will be very helpful.

  • @karodada8005
    @karodada8005 2 ปีที่แล้ว +1

    Great video, thanks !

  • @kmowl1994
    @kmowl1994 3 ปีที่แล้ว +1

    Very helpful, thank you!

  • @casper8374
    @casper8374 ปีที่แล้ว +1

    the best 🙏🏼

  • @hayki_ds
    @hayki_ds ปีที่แล้ว +1

    Perfect
    Thanks

  • @workcontact9726
    @workcontact9726 ปีที่แล้ว +1

    great, thanks for this video

  • @zero8wow342
    @zero8wow342 2 ปีที่แล้ว

    Please why others don't center the data first before using it to form the covariance matrix

    • @tilestats
      @tilestats  2 ปีที่แล้ว

      You do not need to center the data to compute a covariance matrix. You will get the same matrix with uncentered data because the spread of the data does not depend on the mean. The reason why I center the data in this video is because that is the first step in PCA.

  • @shashanksadafule
    @shashanksadafule 2 ปีที่แล้ว +1

    Amazing Explanation!

  • @mrbilalkhan
    @mrbilalkhan 5 หลายเดือนก่อน

    video lecture on Eigenvector and Eigenvalues mentioned at 05:31 can be found at th-cam.com/video/9CT0jnem4vM/w-d-xo.html

  • @AJ-fo3hp
    @AJ-fo3hp 3 ปีที่แล้ว +1

    Thank you very much

  • @tonyhuang9001
    @tonyhuang9001 11 หลายเดือนก่อน +1

    Love from China😘

  • @md.shafaatjamilrokon8587
    @md.shafaatjamilrokon8587 2 ปีที่แล้ว +1

    Thanks

  • @rezafarrokhi9871
    @rezafarrokhi9871 3 ปีที่แล้ว +1

    That is so helpful.

    • @tilestats
      @tilestats  3 ปีที่แล้ว

      That's great!

  • @yoonchaena3137
    @yoonchaena3137 3 ปีที่แล้ว +2

    Thanks~! I want to but this channel stock~!, it will be bigger one.

    • @tilestats
      @tilestats  3 ปีที่แล้ว

      Thank you :)

  • @bhavyakalwar8131
    @bhavyakalwar8131 2 ปีที่แล้ว

    Tile stats best

  • @preethiagarwal5355
    @preethiagarwal5355 2 ปีที่แล้ว

    U cud hv explained how to calculate eigen values as part of this itself ...to make us watch other videos causes loosung of interest...sry uts not a one stop shop. Y dont u make it comprehensive

    • @tilestats
      @tilestats  2 ปีที่แล้ว

      Because I try to keep the videos below 20 min and then I cannot include all details that I have covered in previous videos. This video is just one, out of many, in my course:
      th-cam.com/play/PLLTSM0eKjC2fZqeVFWBBBr8KSqnBIPMQD.html

    • @preethiagarwal5355
      @preethiagarwal5355 2 ปีที่แล้ว

      @@tilestats wow 👏 thanx

  • @arunkumar0702
    @arunkumar0702 2 ปีที่แล้ว

    I executed the steps in python .. I notice that the Matrix of Eigen Vectors returned by the sklearn ..
    pc = PCA(n_components = 2)
    pc.components_ is as follows:
    [ [-0.58906316, -0.80808699],
    [-0.80808699, 0.58906316] ]
    Whereas the one that you have calculated is:
    [ [ -0.80808699 , 0.58906316],
    [ 0.58906316 , 0.80808699 ] ]
    It would help if you could help me understand this difference . What am I missing ??

    • @tilestats
      @tilestats  2 ปีที่แล้ว

      It seems like your function rotate the data counter clockwise, which explains the difference. It does not matter for the results. You may try to switch order of the input variables to see of that change the output.

  • @betting55555
    @betting55555 ปีที่แล้ว +1

    great video, thanks!

  • @areejhameed3923
    @areejhameed3923 2 ปีที่แล้ว +1

    thank you so much