type
Post
Created date
Nov 15, 2021 02:40 AM
category
Data Science
tags
Machine Learning
Machine Learning
status
Published
Language
From
summary
slug
password
Author
Priority
Featured
Featured
Cover
Origin
Type
URL
Youtube
Youtube
icon
Table of Content
Week 1 : SamplingWhat is CDF?What is probability density function (PDF)? What is the difference between PDF and CDF?Week 2 : Hypothesis testingWhat is Hypotheses ?How to conduct Hypo Testing in RWe also learnt about Wilcoxon test, it is non-parametric. Shapiro testWeek 3 : Permutation and resamplingConfidence interval :Estimator p8trimmed mean and mean p9Confidence interval p11bias p14The bootstrap principle The parametric bootstrapThe non-parametric bootstrapWeek 4 : Likelihoods and parameter estimationWeek 5 : Bootstraps, uncertainty, and parameter estimatesWeek 6 : Regression for explaining dataWeek 7 :Regression for causal estimation - The Directed Acyclic Graph (DAG)What & Why DAGHow DAGToP 1 : FORK (common cause)ToP 2 : PIPE (Chain of logic)ToP 3 : Collider (Very COMMON)Regression and DAGAdd or Not Add??Week 8 : Regression for predictionInterpretation of MSE (Here)Week 9 : ClassificationConfusion MatrixInterpretation of indicator: (Here)Precision (吾係變係)Recall (係變吾係) aka SensitivityLogistic regressionWhen do we use Logistic regression?Math of Logistic regression: Log-odd What if there are lot of variables?: penaltyWeek 10 : Using Bayes theorem to infer parametersWeek 11 : Bayesian regression
TOC by topic
How randomness affects estimates
Regression
Bayesian reasoning
There are three parts of this unit :
First,
- We looked at how randomness affects estimates drawn from data
- In particular, we examined sampling distributions using direct simulations and bootstrap
- We looked at how we can make confidence statements about things estimated from the data
Second part of the course we looked at,
- Fitting a straight line through data
- Assessing assumptions of linear regression
- When you can (and can’t) make causal statements
- Regression for prediction
- Classification (including logistic regression and k-nearest neigbhours)
The third part is Bayesian reasoning --
- A formal system for updating information in the light of new data
- A powerful technique for both modelling data and understanding data
Week 1 : Sampling
In Week 1, we learnt about how the sample size of and experiment can effect the variability of the object like CDF
What is Random Variable ?
- You record / quantify the result of a random process
- values of your event. Like 1 - 6 when rolling a dice. (1006 lecture)
![notion image](https://www.notion.so/image/https%3A%2F%2Ffile.notion.so%2Ff%2Ff%2Fe1c5ba0e-562a-49b0-8505-ce5e38fc061b%2Fc52a2730-8c8f-4a85-a166-dc5cf10d2c28%2FUntitled.png%3Ftable%3Dblock%26id%3Dd9b1d7bc-20ac-42d1-ac4d-8f0a11cba9cd%26spaceId%3De1c5ba0e-562a-49b0-8505-ce5e38fc061b%26expirationTimestamp%3D1725789600000%26signature%3DdMzMyNq_dYTgNVuIQbMp1Hbm2TmWQqLPohWUpaWk_sw?table=block&id=d9b1d7bc-20ac-42d1-ac4d-8f0a11cba9cd&cache=v2)
Computer cannot produce a truly random sequence of numbers, so instead, it produces pseudo-random number sequences. Which behave like random numbers .
- It is is not a bad thing because the numbers aren’t truly random, we can make our code reproduce the same results at a later time
- That means, we can use
set.seed ()
What is CDF?
- AKA "probability distribution function"
- used where the possibilities are discrete
- A way to check the type of distribution
For example, we have a dataset called Sample:
tibble(sample = data) %>%
ggplot(aes(x = sample)) +
stat_ecdf() +
stat_function(fun = pnorm, colour = "blue",
linetype = "dashed")
We are checking if the dataset looks like a ND.
![The deviation from the theoretical CDF is purely due to the small sample size. If the empirical CDF of the sample goes outside this window, we are seeing something qualitatively different from our 100 draws.](https://www.notion.so/image/https%3A%2F%2Ffile.notion.so%2Ff%2Ff%2Fe1c5ba0e-562a-49b0-8505-ce5e38fc061b%2F5dc79aaf-daf8-4160-bef9-4c0dab4a3531%2FUntitled.png%3Ftable%3Dblock%26id%3Dd28dff39-7619-436c-b6be-f71aeb781843%26spaceId%3De1c5ba0e-562a-49b0-8505-ce5e38fc061b%26expirationTimestamp%3D1725789600000%26signature%3DRAudyJ1aGd05fa_Z8ehjoqcDS_J9ly14xYCpf9fSdbw?table=block&id=d28dff39-7619-436c-b6be-f71aeb781843&cache=v2)
CDF and ECDF (empircal cumulative density function)
The difference between them is that :
- CDF is the theoretical construct WHEREAS eCDF is built from an actual data set.
- So, that means, the Sample size of CDF is infinite and eCDF is limited.
- CDF is like more Continuous WHEREAS eCDF is discrete.
So, the higher the sample sizes, the more likely it is prone to the CDF (Smooth line)
![notion image](https://www.notion.so/image/https%3A%2F%2Ffile.notion.so%2Ff%2Ff%2Fe1c5ba0e-562a-49b0-8505-ce5e38fc061b%2F4bd5aeeb-9073-44f9-a6b1-916874aa5976%2FUntitled.png%3Ftable%3Dblock%26id%3D008269b4-6a88-4db8-abf5-44732a87f85a%26spaceId%3De1c5ba0e-562a-49b0-8505-ce5e38fc061b%26expirationTimestamp%3D1725789600000%26signature%3Df4ZKc-CxkUmKXTJ88DR1cW9dNaRgDFdlHJcm-5y4D38?table=block&id=008269b4-6a88-4db8-abf5-44732a87f85a&cache=v2)
What is probability density function (PDF)?
- used where the possibilities are continuous.
- Notation :
- PDF denotes
- CDF denotes
![notion image](https://www.notion.so/image/https%3A%2F%2Ffile.notion.so%2Ff%2Ff%2Fe1c5ba0e-562a-49b0-8505-ce5e38fc061b%2F8e8818b5-0b5e-4b28-9c21-07de8502a4bd%2Fpvz720ye.bmp%3Ftable%3Dblock%26id%3De6fb722a-0531-4696-869c-d6a2d5e939c2%26spaceId%3De1c5ba0e-562a-49b0-8505-ce5e38fc061b%26expirationTimestamp%3D1725789600000%26signature%3D8HKuHXwrVMoi-Nibef4HCcBgUODGBENVDYN6WdVxtwM?table=block&id=e6fb722a-0531-4696-869c-d6a2d5e939c2&cache=v2)
![linking PDF with CDF](https://www.notion.so/image/https%3A%2F%2Ffile.notion.so%2Ff%2Ff%2Fe1c5ba0e-562a-49b0-8505-ce5e38fc061b%2Fb242dce8-722c-4303-bb49-56c6334e6019%2FUntitled.png%3Ftable%3Dblock%26id%3Db97cf52d-8f6f-4ab2-a21b-5b27f3ca9190%26spaceId%3De1c5ba0e-562a-49b0-8505-ce5e38fc061b%26expirationTimestamp%3D1725789600000%26signature%3DyrebTfwCRKVslOvtqJS5HvHXIif1jTRJJnd239RmMnI?table=block&id=b97cf52d-8f6f-4ab2-a21b-5b27f3ca9190&cache=v2)
What is the difference between PDF and CDF?
- (Outputs are different):
- So a CDF is a function whose output is a probability. The PDF is a function whose output is a non-negative number. The PDF itself is not a probability (unlike the CDF), but it can be used to calculate probabilities.
- (The types of possibility are different) :
- A probability distribution function (CDF) is used where the possibilities are discrete. Coin flips, dice rolls, favorite colors, first names, etc. The sum of the probabilities is one.
- A probability density function is used where the possibilities are continuous, not discrete. Here it is the integral that is one, not the sum. This means the the magnitude of the instantaneous probability density depends on the units used to express the measure--because the integration includes "dx" in it and measuring x in different units means the "d" is different.
Functions learnt
rep()
![notion image](https://www.notion.so/image/https%3A%2F%2Ffile.notion.so%2Ff%2Ff%2Fe1c5ba0e-562a-49b0-8505-ce5e38fc061b%2F8c40347e-a591-4277-ad6b-23af2505e4be%2FUntitled.png%3Ftable%3Dblock%26id%3Dd80223ee-0d51-4d9c-ac4d-4558bd201f61%26spaceId%3De1c5ba0e-562a-49b0-8505-ce5e38fc061b%26expirationTimestamp%3D1725789600000%26signature%3D9q6nrWOE3seocCoSpPHLTGWMS1cegABPAS8vyIJ8hCc?table=block&id=d80223ee-0d51-4d9c-ac4d-4558bd201f61&cache=v2)
CDF
ECDF = stat_ecdf() +
Week 2 : Hypothesis testing
What is Hypotheses ?
- is an idea or theory that is not proven but that leads to further study or discussion.
- is used to assess whether or not a data set is meaningfully different from some baseline distribution.
When we do hypo testing, there are numbers of components :
How to conduct Hypo Testing in R
Rules of thumb
— Known : (Null distribution, Test-statistic) → Unknown (P-values) → Decide if reject the null hypo.Experiments vs observtional study
Observational - you just look at something happening and try to study it.
Experimental - you actually change the thing you're studying and see the effects.
Observational:
you examine trends of lung cancer vs subscriber of pewdiepie. You see
that lung cancer goes down as pewdiepie subscriptions go up. You
conclude that there is a correlation between pewdiepie subscribers and
lung cancer.
Experimental: you
kidnap 1000 people and force them to watch pewdiepie and see if their
rate of lung cancer decreases. It doesn't. You conclude that there is no
correlation and likely no casuation between the two.
Experimental
studies usually get better results as you can eliminate surrounding
variables that may affect the results. But, particularly in social
sciences like psychology, it's kinda hard sometimes without being highly
unethical.
Hypothesis testing process
Test statistics
"I am a tool to decide whether or not to reject the null hypothesis. "
- It is obtained by taking the observed value (the sample statistic) and converting it into a standard score under the assumption that the null hypothesis is true.
What
- A standard score calculated from your data, under the assumption that the null hypothesis is true. (Lecture)
- There are few kinds of Test statistics, depending on the kinds of you do. Say you are doing T-test, then T value is your Test statistics. (Scribbr)
- 由樣本所算出來的一個值,用來決定是否接受或拒絕 H0。常用的檢定統計量有:Z, t, F 與 χ2。(Opengate)
- A summary of a data set that reduces the data to one value that can be used to perform the hypothesis test. (Wiki)
Why
- Calculate the
p-value
of your results
How
- Look at the formular from (Wiki)
(Good link)
Hypothesis testing concepts
Null hypothesis
The mean of a random variable = 0
"I have a sad life because I either get rejected or am fail to be rejected; never get accepted or proved"
- So, as analyst, you can only reject or fail to reject the Null hypothesis.
Alternative hypothesis
"I am rebellious that whatever Null hypothesis, I am ALWAYS his opposition."
Assumptions
Consider :
- the level of measurement of the variable
- the method of sampling
- the shape of the population distribution
- the sample size
Significance level (α)
- A probability threshold below which the null hypothesis will be rejected.
- Common values are 5% and 1%.
Sampling distribution under the null hypothesis : Test statistic
An example could be Permutation test; which is explained below :
Permutation test
What
- a kind of test statistics that is an awesome nonparametric test with light assumptions
Why
![notion image](https://www.notion.so/image/https%3A%2F%2Ffile.notion.so%2Ff%2Ff%2Fe1c5ba0e-562a-49b0-8505-ce5e38fc061b%2F8022f38c-1559-4164-af1f-ce02436d1d89%2FUntitled.png%3Ftable%3Dblock%26id%3D2cedd105-56f6-4e34-a9f5-1539db6125da%26spaceId%3De1c5ba0e-562a-49b0-8505-ce5e38fc061b%26expirationTimestamp%3D1725789600000%26signature%3DmFssEMDKp_KwMrYlUF8710RLQz5hu8aibw5Qmns7mcU?table=block&id=2cedd105-56f6-4e34-a9f5-1539db6125da&cache=v2)
P-value - Reject the hypo. if p value is small.
- The probability of seeing the observed test statistic under the null hypothesis
- Conditional probability given that the null hypothesis is TRUE. (Here)
A values that lies beyond the critical values
![notion image](https://www.notion.so/image/https%3A%2F%2Ffile.notion.so%2Ff%2Ff%2Fe1c5ba0e-562a-49b0-8505-ce5e38fc061b%2F52dbc9ab-6564-464c-90b4-fd054ded6057%2FUntitled.png%3Ftable%3Dblock%26id%3D357ceabf-53b0-4b06-b5d6-91608b87efc0%26spaceId%3De1c5ba0e-562a-49b0-8505-ce5e38fc061b%26expirationTimestamp%3D1725789600000%26signature%3Dq3j899nlI6GfpLqAHHUw5KbhU0KBzN5LT4367q0amoM?table=block&id=357ceabf-53b0-4b06-b5d6-91608b87efc0&cache=v2)
Decision - critical region
- Decide to either reject the null hypothesis in favor of the alternative or not reject it.
- The decision rule is to reject the null hypothesis H0 if the p-value ≤ .05, meaning that is in the critical region,
- or otherwise, to accept or "fail to reject" the hypothesis when p> 0.05.
Example
Hypo Testing steps
1 Decide on a null hypothesis H0.
2 Decide on an alternative hypothesis H1.
3 Decide on a significance level.
4 Calculate the appropriate test statistic.
5 Find from tables the corresponding tabulated test statistic.
6 Compare calculated and tabulated test statistics and decide whether to accept or reject the null hypothesis.
7 State the conclusion and assumptions of the test.
Source Rees, D.G. Essential Statistics, Chapman and Hall 1995. (1006 lecture)
Power (Good link & here)
"I am the judge or enemy, you say, of the Null hypothesis"
- The probability of correctly rejecting the null hypothesis; or you may say : the probability of not making a Type II error
- 正确拒绝H0的概率 ; or you may say : (不犯二类错误的概率)
- Known as — (Generally, should be
0.2
)
Optimistic analysis - testing how big our sample will need to be to achieve a certain power
- very useful when you are planning experiments
- the target power is 80%; that's why Generally, should be
0.2
![Around when sample size = 40, the 1- should be 0.8](https://www.notion.so/image/https%3A%2F%2Ffile.notion.so%2Ff%2Ff%2Fe1c5ba0e-562a-49b0-8505-ce5e38fc061b%2Febea14e5-13e5-403b-9e3e-0ca062b16951%2FUntitled.png%3Ftable%3Dblock%26id%3Ded3b271d-3688-484a-8f36-657fca9fd2ba%26spaceId%3De1c5ba0e-562a-49b0-8505-ce5e38fc061b%26expirationTimestamp%3D1725789600000%26signature%3DnCf9z9hDykm5OUS323D1g6VJghyPl_--D3zvCT1Bo9o?table=block&id=ed3b271d-3688-484a-8f36-657fca9fd2ba&cache=v2)
0.8
Factors affecting Power (Here)
- Size of the effect: Larger effects are more easily detected.
- Measurement error: Systematic and random errors in recorded data reduce power.
- Sample size: Larger samples reduce sampling error and increase power.
- Significance level: Increasing the significance level increases power
Significance level and decision errors
Graph of decision errors
![notion image](https://www.notion.so/image/https%3A%2F%2Ffile.notion.so%2Ff%2Ff%2Fe1c5ba0e-562a-49b0-8505-ce5e38fc061b%2F9bc1ef02-3970-4708-b617-ae8e78bae7d0%2Fc5tnf0o1.bmp%3Ftable%3Dblock%26id%3D1bc7d04b-429d-4366-b85c-e062beae8fc8%26spaceId%3De1c5ba0e-562a-49b0-8505-ce5e38fc061b%26expirationTimestamp%3D1725789600000%26signature%3DJaUBM38i7dXSgwG0f9pmM7Ynz_sYQL2Y9KnIRbw_K3Y?table=block&id=1bc7d04b-429d-4366-b85c-e062beae8fc8&cache=v2)
![notion image](https://www.notion.so/image/https%3A%2F%2Ffile.notion.so%2Ff%2Ff%2Fe1c5ba0e-562a-49b0-8505-ce5e38fc061b%2F9a72650c-5046-49e1-a5de-c0a6248710fb%2FUntitled.png%3Ftable%3Dblock%26id%3D988969e2-f13d-4ddd-97e1-e6f47925b809%26spaceId%3De1c5ba0e-562a-49b0-8505-ce5e38fc061b%26expirationTimestamp%3D1725789600000%26signature%3D5MdUsnHcGxVreBfynkytcYne7JBejpOuN1X8UTTLTHg?table=block&id=988969e2-f13d-4ddd-97e1-e6f47925b809&cache=v2)
There are 2 types of Errors : Type 1 Error and Type 2 Error
Type 1
false +ve
: Wrong rejection of - More precisely, incorrectly rejecting the null hypothesis in return for a false alternative hypothesis
- Known as —
- The significance level is usually set at 0.05 or 5%,meaning that your results only have a 5% chance of occurring, or less, if the null hypothesis is actually true.
Type 2
false -ve
: Wrong rejection of = Wrong acceptance of - More precisely, reject a false null hypothesis in return for a true alternative hypothesis
- Known as —
Example, The avg price of cars is 3200. A test is conducted to see if that is true. State the types of Errors :
Step 1 : Find the H0 and HA
H0 : M = 3200
HA : M ≠ 3200
Step 2 : Find the Errors
Type 1: Wrong rejection of (Test shown that M ≠ 3200; but in fact M = 3200)
Type 2: Wrong rejection of (Test shown that M = 3200; but in fact M ≠ 3200)
Good source about Hypo testing
We also learnt about Wilcoxon test, it is non-parametric.
Its null hypo is that :
1. the diff of marks is a ND;
2. quiz1 and quiz2 shares the same dist ;
3. diff = 0
Shapiro test
The null-hypothesis of this test is that the population is normally distributed.
Thus, if the p value is less than the chosen alpha level, then the null hypothesis is rejected and there is evidence that the data tested are not normally distributed.
On the other hand, if the p value is greater than the chosen alpha level, then the null hypothesis (that the data came from a normally distributed population) can not be rejected (e.g., for an alpha level of .05, a data set with a p value of less than .05 rejects the null hypothesis that the data are from a normally distributed population).
Week 3 : Permutation and resampling
Last week we use the example of "Will the web re-design increase profits?". In case it really would, your boss will further ask you "by how much?". So, by understanding the concepts (which is called Estimated Effect) today, you will be able to answer it.
Confidence interval :
a range of plausible values where we may find the true population value.
Estimator p8
estimand, estimator and estimate
(Estimand -> Estimator -> Estimate)
![notion image](https://www.notion.so/image/https%3A%2F%2Ffile.notion.so%2Ff%2Ff%2Fe1c5ba0e-562a-49b0-8505-ce5e38fc061b%2F4d61327c-6cc2-4260-a51f-b2b3dd2abad4%2FD2C84CE6-A56A-4995-BC84-655134AF50D4.jpeg%3Ftable%3Dblock%26id%3D6c11dd80-8bbd-45bc-a2a9-7791ac5eb1be%26spaceId%3De1c5ba0e-562a-49b0-8505-ce5e38fc061b%26expirationTimestamp%3D1725789600000%26signature%3DVh04ao0aBe45Ja2oH8drta9UJBaADQtutT5y3IpTP-Y?table=block&id=6c11dd80-8bbd-45bc-a2a9-7791ac5eb1be&cache=v2)
Example 1:
We rely on the observations in our sample and use a linear (regression) function (the estimator) to estimate the causal effect of education on income in our sample which is our estimate for the population-level causal effect (the estimand).
trimmed mean and mean p9
Trimmed mean (20%) of this data set
711, 710, 783, 814, 797 793, 711, 678, 773, 615 701, 841, 764, 330, 653, 558, 738, 795, 702, 752
Steps
- Order the numbers from small to large.
- Remove 20% of the points on both ends. Hint: What's 20% of 20 values?
- Compute the mean with the remaining values.
- ans is 711.0
difference between Mean and trimmed mean
- Using a trimmed mean helps eliminate the influence of outliers or data points on the tails that may unfairly affect the traditional mean. (here)
Confidence interval p11
Confidence Intervalsbias p14
The bootstrap principle
BootstrapThe parametric bootstrap
- Used when you know the family of probability dist
The non-parametric bootstrap
- Used when you DON'T know the family of probability dist
When doesn't it work?
When does it work?
Week 4 : Likelihoods and parameter estimation
The entire process of MLE revolves around determining the parameters which maximizes the probability of the data
Maximum Likelihood Estimate (MLE)Interpretation :
The bigger the likelihood, the more likely it is that the data comes from that model, the more appropriate to use that model
Week 5 : Bootstraps, uncertainty, and parameter estimates
Censor data
![notion image](https://www.notion.so/image/https%3A%2F%2Ffile.notion.so%2Ff%2Ff%2Fe1c5ba0e-562a-49b0-8505-ce5e38fc061b%2F913e2a7a-e6f1-4cb9-8dc5-fe2b2b8ced82%2FUntitled.png%3Ftable%3Dblock%26id%3D98c780a1-1cb9-4517-84f5-a4ca5b42e4fd%26spaceId%3De1c5ba0e-562a-49b0-8505-ce5e38fc061b%26expirationTimestamp%3D1725789600000%26signature%3DLv0NUkzgB2ASVXi040OwgL1qrFP8mqoTUxkPJq5ySBI?table=block&id=98c780a1-1cb9-4517-84f5-a4ca5b42e4fd&cache=v2)
Week 6 : Regression for explaining data
Slide 1
Multilevel Models
- Fixed effects vs random effects
- Mixed effects models
- Diagnostics
w7 Linear Model
Residual
What is R^2
- is a common measurement of strength of linear model fit.
- tells us % variability / variance in response explained by model.
What is the difference between augment () and predict()
Both are used in testing the model, but the way it is used is different :
- augment () : It is used when training dataset is used to test a model
- predict() : It is used when testing dataset is used to test a model
The residuals and fitted values can be extracted using augment()
function from broom:
fit = lm ( you know it )
mod_heights_diagnostics <- augment( fit )
Interpretation of a good model
Indicator to judge a good model or not
- R Square / Adjusted R Square
AIC
BIC
Residual plot
resid_panel(fit, plots = "all")
![data is normally distributed](https://www.notion.so/image/https%3A%2F%2Ffile.notion.so%2Ff%2Ff%2Fe1c5ba0e-562a-49b0-8505-ce5e38fc061b%2Fc1642c36-836b-438a-8fdc-cb647e37217f%2FUntitled.png%3Ftable%3Dblock%26id%3D162c3530-685c-4262-b850-d6b17272be8c%26spaceId%3De1c5ba0e-562a-49b0-8505-ce5e38fc061b%26expirationTimestamp%3D1725789600000%26signature%3DEKdaJw_tUCwYX1-T1XHfwrQWFq9_3M7lSuq9NS6NosM?table=block&id=162c3530-685c-4262-b850-d6b17272be8c&cache=v2)
![notion image](https://www.notion.so/image/https%3A%2F%2Ffile.notion.so%2Ff%2Ff%2Fe1c5ba0e-562a-49b0-8505-ce5e38fc061b%2F588dd339-1d9f-48c6-912b-49f8680ecd0a%2FUntitled.png%3Ftable%3Dblock%26id%3D5cb4412e-e2f3-4f98-9fce-e13dafaa80b2%26spaceId%3De1c5ba0e-562a-49b0-8505-ce5e38fc061b%26expirationTimestamp%3D1725789600000%26signature%3Dv_oN21gDKfaQ4Cjh06lZjXbpKM-tihzhNchOsyhsRRc?table=block&id=5cb4412e-e2f3-4f98-9fce-e13dafaa80b2&cache=v2)
residual : the difference between the predicted (fitted ) and actual (observed ) values
3 condition to evaluation a good model based on residual
- Independent
- Normally distributed
residual plot: a good linear model's residual should be independent or not have relationship.
How to view if there is relationship or not?
if there is no pattern shown in residual plot, it means it does not have relationship, hence a good model
QQplot : a good linear model's residual should be normally distributed
How to view if it is normally distributed or not?
If all points lie on the blue line, then it is normally distributed
What about in this case?
- Extreme points deviate from the line, which can be highly influential.
- That is to say that some data points can change the regression coefficient to the extent that you would see something different if you left it out.
Cook's distance and Residual leveraged plot : a good linear model should avoid as much outliers as possible
Cook's distance (you know how to view if there is outliers, just remove them based upon)
- > 4/n is a good rule of thumb for a big value.
Residual leveraged plot
if points lie below the red line, then there are outliers needed to be removed
R.leveage plot :
This data is not normally distributed
![notion image](https://www.notion.so/image/https%3A%2F%2Ffile.notion.so%2Ff%2Ff%2Fe1c5ba0e-562a-49b0-8505-ce5e38fc061b%2F1ca7c01c-70e8-476c-b28c-b4541c64b559%2FUntitled.png%3Ftable%3Dblock%26id%3Dbd482f1e-cb2f-4409-9d94-9a8f9dd90d2c%26spaceId%3De1c5ba0e-562a-49b0-8505-ce5e38fc061b%26expirationTimestamp%3D1725789600000%26signature%3D7DUmj7soiYfNrlWSC8471Ot3QIJQyTW08H8ddqsinPY?table=block&id=bd482f1e-cb2f-4409-9d94-9a8f9dd90d2c&cache=v2)
Model is good when residuals are small (ETC2420 Week 6)
Residuals are small, that means :
- The smaller the residual sum of squares, the better your model fits your data
What if there is no Covariate/ Predictor variables / features in the regression? (ETC2420 Week 6)
![notion image](https://www.notion.so/image/https%3A%2F%2Ffile.notion.so%2Ff%2Ff%2Fe1c5ba0e-562a-49b0-8505-ce5e38fc061b%2Fab74a2ba-69b4-489e-9d3b-50d536b8e340%2FUntitled.png%3Ftable%3Dblock%26id%3D7eeee2f6-d729-4e7c-99fe-9dbcfe6b9bf7%26spaceId%3De1c5ba0e-562a-49b0-8505-ce5e38fc061b%26expirationTimestamp%3D1725789600000%26signature%3DkV9pZIinDI3b4HcpWutoyyxcOZ0A3DWUoeLgRotghwM?table=block&id=7eeee2f6-d729-4e7c-99fe-9dbcfe6b9bf7&cache=v2)
hypothesis test in lm()
(ETC2420 Week 6)
What are the output from lm()
of test statistic and a hypothesis test ?
covariate means Predictor variables / features.
- It tests the null hypothesis that the covariate = 0
- If there is only 1 covariate in your model,
- Rejecting the null hypothesis indicates that there is a linear relationship between the response and the covariate.
- If there are more than one covariate in your model,
- it indicates that there is a linear relationship between the covariate and the response, even after we have taken into account the other covariates.
- This doesn’t indicate the strength of the
Assumptions when calculating the P-value and standard errors
![notion image](https://www.notion.so/image/https%3A%2F%2Ffile.notion.so%2Ff%2Ff%2Fe1c5ba0e-562a-49b0-8505-ce5e38fc061b%2F95d2161d-2759-4ded-a3d4-2f79da22ec5f%2FUntitled.png%3Ftable%3Dblock%26id%3D50e4e5ef-7152-42c5-a445-c585670a57bf%26spaceId%3De1c5ba0e-562a-49b0-8505-ce5e38fc061b%26expirationTimestamp%3D1725789600000%26signature%3DKA0YZQovaeTOA8kb9Ca-z799iOgYVyQUkonOb156iNI?table=block&id=50e4e5ef-7152-42c5-a445-c585670a57bf&cache=v2)
Week 7 :Regression for causal estimation - The Directed Acyclic Graph (DAG)
What & Why DAG
A graphical technique
- To visualise assumptions about the relationship between variables (AKA nodes in the context of graphs).
- To see variables they interact with each other that changes the regression
- To ensure that the spurious correlation between X and Y isn’t introduced.
How DAG
There are 4 kinds of Elemental confounds (or I called Types of path ToP)
![Summary](https://www.notion.so/image/https%3A%2F%2Ffile.notion.so%2Ff%2Ff%2Fe1c5ba0e-562a-49b0-8505-ce5e38fc061b%2Fd338a41a-ae78-4bd9-83bd-2b49cc8dc3e3%2FUntitled.png%3Ftable%3Dblock%26id%3Da5045a10-a469-4295-90c8-dfff97ae3438%26spaceId%3De1c5ba0e-562a-49b0-8505-ce5e38fc061b%26expirationTimestamp%3D1725789600000%26signature%3DFFZGOpFV8Cnh2WIAd7o2m8a22H7DgIDaDW6PMInT2ys?table=block&id=a5045a10-a469-4295-90c8-dfff97ae3438&cache=v2)
ToP 1 : FORK (common cause)
Z is the common cause of X & Y
- Example :
e.g. 1 :
weight ←
(unhealthy lifestyle)
→ smoking
e.g. 2 :
bad impact on heath ←
(Staying up late)
→ work efficience
e.g. 3 :
Marriage Rate ← (Age at Marriage) → Divorce Rate
- X and Y are correlated except for when we control for Z.
e.g.
weigh
and smoking
are correlated except for when we control for the common causes unhealthy lifestyle
.- Y are independent, conditional on Z.
- If we don’t condition on the common cause, we will see spurious correlation.
![notion image](https://www.notion.so/image/https%3A%2F%2Ffile.notion.so%2Ff%2Ff%2Fe1c5ba0e-562a-49b0-8505-ce5e38fc061b%2F4a68c008-1779-49ff-beaf-6cdde7f7e2a8%2FUntitled.png%3Ftable%3Dblock%26id%3Df01e41f4-4b9d-4603-a1ca-b1f6458e729e%26spaceId%3De1c5ba0e-562a-49b0-8505-ce5e38fc061b%26expirationTimestamp%3D1725789600000%26signature%3Dyz2NLp3FYaCPhXJC-aGq0FxxI-beq75EJY1w4_heZXY?table=block&id=f01e41f4-4b9d-4603-a1ca-b1f6458e729e&cache=v2)
ToP 2 : PIPE (Chain of logic)
Z mediates the effect of X on Y. (i.e X causes Z causes Y)
- Example :
e.g 1 :
smoking → cholesterol to rise → increases risk for cardiac arrest.
e.g 2:
unhealthy life style → weight rises → Cholesterol
- Z is an intermediate variable between X & Y.
- If we were to intervene or control for Z, then the relationship between X and Y would be broken and there should be no correlation.
- In a statistical framework, we would not want to control for Z
- If we condition on Z now, we also block the path from X to Y. So in both a fork and a pipe, conditioning of the middle variable blocks the path.
![notion image](https://www.notion.so/image/https%3A%2F%2Ffile.notion.so%2Ff%2Ff%2Fe1c5ba0e-562a-49b0-8505-ce5e38fc061b%2F37583839-f5ed-409d-b828-89ff6e0f7246%2FUntitled.png%3Ftable%3Dblock%26id%3D90f7ba80-defa-4765-bcac-5d13e3a1fa3e%26spaceId%3De1c5ba0e-562a-49b0-8505-ce5e38fc061b%26expirationTimestamp%3D1725789600000%26signature%3DvN7aKgg3GhRVtddpxe0IB7c2kd7MJ_jCHiHohY-9Acc?table=block&id=90f7ba80-defa-4765-bcac-5d13e3a1fa3e&cache=v2)
ToP 3 : Collider (Very COMMON)
There is no association between X and Y unless you condition on Z. (i.e X and Y jointly causes Z )
- Example :
- e.g 1 :
Flu → Fever ← Chicken pox (varicella-zoster)
e.g 2 : Switch → Light ← Electricity
![notion image](https://www.notion.so/image/https%3A%2F%2Ffile.notion.so%2Ff%2Ff%2Fe1c5ba0e-562a-49b0-8505-ce5e38fc061b%2F63b1c40d-dfb6-4697-bc52-d90a0659305f%2FUntitled.png%3Ftable%3Dblock%26id%3D372c4d98-d971-493e-927d-9a40d3c86aff%26spaceId%3De1c5ba0e-562a-49b0-8505-ce5e38fc061b%26expirationTimestamp%3D1725789600000%26signature%3DlKGcimDgrZGkZ_i-DVxZ26npoDVrDZXLGt1M5L8qffQ?table=block&id=372c4d98-d971-493e-927d-9a40d3c86aff&cache=v2)
![notion image](https://www.notion.so/image/https%3A%2F%2Ffile.notion.so%2Ff%2Ff%2Fe1c5ba0e-562a-49b0-8505-ce5e38fc061b%2F778e3e83-98f6-4bc1-af8e-0afcd6a78646%2FUntitled.png%3Ftable%3Dblock%26id%3D61b462b6-c01c-4db2-88cd-50d540f84d57%26spaceId%3De1c5ba0e-562a-49b0-8505-ce5e38fc061b%26expirationTimestamp%3D1725789600000%26signature%3D3SdZ9NmB4ZAA19M0Z-rF5FX_qIQFbhdCU4ZIpqTRhio?table=block&id=61b462b6-c01c-4db2-88cd-50d540f84d57&cache=v2)
e.g 3 : Newsworthy → Publish ← Trustworthy
![notion image](https://www.notion.so/image/https%3A%2F%2Ffile.notion.so%2Ff%2Ff%2Fe1c5ba0e-562a-49b0-8505-ce5e38fc061b%2F4417cae3-4774-43b0-bf87-bed3c6e6a20f%2FUntitled.png%3Ftable%3Dblock%26id%3D71ef7108-1244-43cc-bd89-1395cb1b0033%26spaceId%3De1c5ba0e-562a-49b0-8505-ce5e38fc061b%26expirationTimestamp%3D1725789600000%26signature%3DliG1nc_lNi4cKboEDwV3GMeSX-Oqn_XwYM6_JyPmj5o?table=block&id=71ef7108-1244-43cc-bd89-1395cb1b0033&cache=v2)
- An inverted fork is not an open path; it is blocked at the collider Z.
- X & Y are independent if Z is not conditioned on
Conversely, conditioning on Z — the collider variable, opens the path. Once the path is open, information flows between X and Y.
Example :
Influenza and chicken pox are independent
if fever is not conditioned on- Learning X and Z reveals Y.
![notion image](https://www.notion.so/image/https%3A%2F%2Ffile.notion.so%2Ff%2Ff%2Fe1c5ba0e-562a-49b0-8505-ce5e38fc061b%2Fbfe71594-413d-407d-ae00-bbdec50d2140%2FUntitled.png%3Ftable%3Dblock%26id%3D3496ee59-4d1c-462c-9e2f-f7658366de25%26spaceId%3De1c5ba0e-562a-49b0-8505-ce5e38fc061b%26expirationTimestamp%3D1725789600000%26signature%3Dab_O0EmEJHm84phcquQNimH1nPtf7Hql20ZERCgmIJk?table=block&id=3496ee59-4d1c-462c-9e2f-f7658366de25&cache=v2)
Regression and DAG
Say we want to identify a causal effect between X and Y :
![notion image](https://www.notion.so/image/https%3A%2F%2Ffile.notion.so%2Ff%2Ff%2Fe1c5ba0e-562a-49b0-8505-ce5e38fc061b%2F9a482627-aaa3-41a3-a4ce-cc1e2cc4c480%2FUntitled.png%3Ftable%3Dblock%26id%3D0b6a6305-67f7-4bef-9e24-c0e962f01fcf%26spaceId%3De1c5ba0e-562a-49b0-8505-ce5e38fc061b%26expirationTimestamp%3D1725789600000%26signature%3Df_N_25a3MR2_6oxrZU6A-Atft-2hYjM_FYPYkSdnvyM?table=block&id=0b6a6305-67f7-4bef-9e24-c0e962f01fcf&cache=v2)
Add or Not Add??
When there is a Collider:
-We DO NOT include Collider variable in the regression.
When there is a FORK:
-We DO include the variable in the regression
When there is a Pipe:
-We DO NOT include the variable in the regression
If adding pipe variable — W, we will see the bias in our causal estimate.
You will see the direct effect of X and Y.
You will not see the indirect effect captured by W.
![notion image](https://www.notion.so/image/https%3A%2F%2Ffile.notion.so%2Ff%2Ff%2Fe1c5ba0e-562a-49b0-8505-ce5e38fc061b%2F108a3c09-d4ab-4d2e-9e59-ad0c6369a07d%2FUntitled.png%3Ftable%3Dblock%26id%3D22adec9b-a282-45a5-9cd0-01913aeec7e9%26spaceId%3De1c5ba0e-562a-49b0-8505-ce5e38fc061b%26expirationTimestamp%3D1725789600000%26signature%3DoIehGALRs7CMeKk855Q-NM49lqCYFyUyw2l51InWr_w?table=block&id=22adec9b-a282-45a5-9cd0-01913aeec7e9&cache=v2)
![z is the variable](https://www.notion.so/image/https%3A%2F%2Ffile.notion.so%2Ff%2Ff%2Fe1c5ba0e-562a-49b0-8505-ce5e38fc061b%2F6fc88ad7-5689-440f-b8a1-ef25c12af27a%2FUntitled.png%3Ftable%3Dblock%26id%3D9b9ae219-a2ed-45be-83b7-355f86c4aa72%26spaceId%3De1c5ba0e-562a-49b0-8505-ce5e38fc061b%26expirationTimestamp%3D1725789600000%26signature%3Dts7tac_v-6ghI-44oaq6NDeOv0W8tLZiF5rmmGr3mnU?table=block&id=9b9ae219-a2ed-45be-83b7-355f86c4aa72&cache=v2)
![notion image](https://www.notion.so/image/https%3A%2F%2Ffile.notion.so%2Ff%2Ff%2Fe1c5ba0e-562a-49b0-8505-ce5e38fc061b%2F4e28fc50-479d-42e1-899d-a4850822d056%2FUntitled.png%3Ftable%3Dblock%26id%3D80bb9860-6d20-494f-9f74-23f41193997a%26spaceId%3De1c5ba0e-562a-49b0-8505-ce5e38fc061b%26expirationTimestamp%3D1725789600000%26signature%3DOWkSrM0OmDm-5ekEF8J_1m-VoFefTmjAvb9bd5ZPvWM?table=block&id=80bb9860-6d20-494f-9f74-23f41193997a&cache=v2)
Week 8 : Regression for prediction
Slide 1 : Bayesian inference
Likelihood
Normalising constant
Estimation
Incorporating a prior
Posterior
Credible intervals
Continuous distributions
Comparison with MLE
Conjugate priors
Bayesian regression
Slide 2: Conditional probability and Bayesian methods
- Events – Union, Intersection & Disjoint events
- Independent, Dependent and Exclusive events (with implementation in R)
- Conditional Probability (with implementation in R)
- Bayes Theorem (with implementation in R)
- Probability trees
- Frequentist vs Bayesian definitions of probability
- Open Challenges
Slides 3: Bayesian Statistics explained to Beginners in Simple English
- The drawbacks of frequentist statistics lead to the need for Bayesian Statistics
- Discover Bayesian Statistics and Bayesian Inference
- There are various methods to test the significance of the model like p-value, confidence interval, etc
Slides 5 : The Odds, Continually Updated
Mean Square Error
What is MSE?
- Avg(the square of the difference between actual and estimated values) (Here)
Description of the graph (Here)
In the diagram, predicted values are points on the line and actual values are shown by small circles.
- Error in prediction is shown as the distance between the data point and fitted line.
- MSE for the line is calculated as the avg( sum of squares for all data points ).
- For all such lines possible for a given dataset, the line that gives minimal or least MSE is considered as the best fit.
![notion image](https://www.notion.so/image/https%3A%2F%2Ffile.notion.so%2Ff%2Ff%2Fe1c5ba0e-562a-49b0-8505-ce5e38fc061b%2F6a89d351-3b2e-484d-8ba4-51f6ab836eb9%2Fydvt96s5.bmp%3Ftable%3Dblock%26id%3D26f7c43f-2479-4e1a-8336-1c8ba7f88d3d%26spaceId%3De1c5ba0e-562a-49b0-8505-ce5e38fc061b%26expirationTimestamp%3D1725789600000%26signature%3De1Nlo4L0rG7d1XsiByZZIYeBucvtkCfIjSljOXrrBhU?table=block&id=26f7c43f-2479-4e1a-8336-1c8ba7f88d3d&cache=v2)
How is MSE calculated? (Here)
![notion image](https://www.notion.so/image/https%3A%2F%2Ffile.notion.so%2Ff%2Ff%2Fe1c5ba0e-562a-49b0-8505-ce5e38fc061b%2F4f99a9c2-095c-4cba-a6aa-43c756141b5e%2FUntitled.png%3Ftable%3Dblock%26id%3D3d8ca86c-fecb-4950-b6ad-6699e2e369e4%26spaceId%3De1c5ba0e-562a-49b0-8505-ce5e38fc061b%26expirationTimestamp%3D1725789600000%26signature%3DtDg7FMtheEQfE5Ke4Re6hGstqUiZ-S9RkeLmIUIWH4I?table=block&id=3d8ca86c-fecb-4950-b6ad-6699e2e369e4&cache=v2)
Here RMSE is the root of MSE. You can think of :
What is Mean Absolute Error (MAE)?
- The sum of the absolute difference between actual and predicted values.
What is ?
- A coefficient of determination
- The total variance explained by model/total variance.
![notion image](https://www.notion.so/image/https%3A%2F%2Ffile.notion.so%2Ff%2Ff%2Fe1c5ba0e-562a-49b0-8505-ce5e38fc061b%2Fc9fa6feb-f46c-4e5b-a787-879c8a7523fb%2FUntitled.png%3Ftable%3Dblock%26id%3D04926c33-ffd6-4f3e-ac80-8a1954606e2e%26spaceId%3De1c5ba0e-562a-49b0-8505-ce5e38fc061b%26expirationTimestamp%3D1725789600000%26signature%3DL7tP4dP59LZWzE14_GqZj-38BoNFkjv86Qfm6L4j5yg?table=block&id=04926c33-ffd6-4f3e-ac80-8a1954606e2e&cache=v2)
![Comparison between RSME, MAE, and](https://www.notion.so/image/https%3A%2F%2Ffile.notion.so%2Ff%2Ff%2Fe1c5ba0e-562a-49b0-8505-ce5e38fc061b%2Fa27cce3d-718c-472e-b8f9-81a60aa8ee8c%2FUntitled.png%3Ftable%3Dblock%26id%3D8fcde5dd-9d99-47fb-a9fc-128a4a6a743d%26spaceId%3De1c5ba0e-562a-49b0-8505-ce5e38fc061b%26expirationTimestamp%3D1725789600000%26signature%3D4inaPJOsJv9TNTBGDYh8GUvufPP2Z_fGxukgtXfEOZQ?table=block&id=8fcde5dd-9d99-47fb-a9fc-128a4a6a743d&cache=v2)
Interpretation of MSE (Here)
- To check how close our prediction is to actual values.
- Lower the MSE, the closer is forecast to actual, the better fit is. So we want to minimise MSE.
- Used to compare different regression models.
Week 9 : Classification
Confusion Matrix
![notion image](https://www.notion.so/image/https%3A%2F%2Ffile.notion.so%2Ff%2Ff%2Fe1c5ba0e-562a-49b0-8505-ce5e38fc061b%2F099d4acd-992b-496c-b79e-ab75da44d44a%2F19gmid6n.bmp%3Ftable%3Dblock%26id%3Dba43c361-5344-498c-aad7-fb3acc263f29%26spaceId%3De1c5ba0e-562a-49b0-8505-ce5e38fc061b%26expirationTimestamp%3D1725789600000%26signature%3DnZDXS7QnOOR0mUaTO1UnjiPskhefH1EKpHEWbn6clV4?table=block&id=ba43c361-5344-498c-aad7-fb3acc263f29&cache=v2)
![notion image](https://www.notion.so/image/https%3A%2F%2Ffile.notion.so%2Ff%2Ff%2Fe1c5ba0e-562a-49b0-8505-ce5e38fc061b%2Fc4e2f50e-9073-4629-8dbc-b49113a6694b%2Fcbyo3fzg.bmp%3Ftable%3Dblock%26id%3Dc9ec18a4-c865-40b1-ba68-8c3adc63742c%26spaceId%3De1c5ba0e-562a-49b0-8505-ce5e38fc061b%26expirationTimestamp%3D1725789600000%26signature%3DuatRqbZ8cxhywkSyf5eAqkaW7jUoDWoZpEwhsy-khbg?table=block&id=c9ec18a4-c865-40b1-ba68-8c3adc63742c&cache=v2)
Interpretation of indicator: (Here)
![This is useful, code found in ETC2420 lecture slide week 9.](https://www.notion.so/image/https%3A%2F%2Ffile.notion.so%2Ff%2Ff%2Fe1c5ba0e-562a-49b0-8505-ce5e38fc061b%2F8eddfd39-cebe-455b-9849-fcf76cecc101%2FUntitled.png%3Ftable%3Dblock%26id%3D9c4f6bd4-d0d8-43ee-b6af-8b35aca32f12%26spaceId%3De1c5ba0e-562a-49b0-8505-ce5e38fc061b%26expirationTimestamp%3D1725789600000%26signature%3DuL3AweRcvmDDR28HO1HJA2-5s9c-YnZNh55vLO7duRE?table=block&id=9c4f6bd4-d0d8-43ee-b6af-8b35aca32f12&cache=v2)
Precision (吾係變係)
- To determine the best model when the costs of False Positive is high.
- For instance, email spam detection.
- In email spam detection, a false positive means that an email that is non-spam (actual negative) has been identified as spam (predicted spam).
- The email user might lose important emails if the precision is not high for the spam detection model.
Recall (係變吾係) aka Sensitivity
- To determine the best model when the cost associated with False Negative is high.
- Calculates how many of the Actual Positives our model capture through labeling it as Positive (True Positive).
- For instance of fraud detection,
- If a fraudulent transaction (Actual Positive) is predicted as non-fraudulent (Predicted Negative), the consequence can be very bad for the bank.
- For instance of sick patient detection,
- Similarly, in sick patient detection, if a sick patient (Actual Positive) goes through the test and predicted as not sick (Predicted Negative).
- The cost associated with False Negative will be extremely high if the sickness is contagious.
Logistic regression
When do we use Logistic regression?
- When the response variable are binary, which takes one of two values, 0 or 1
Math of Logistic regression: Log-odd
- Sum(Square Residuals) + ()
(More details can be read from the week 9 lecture slides.)
What if there are lot of variables?: penalty
Problem :
When there are lot of variables, Multicollinearity is introduced. That means independent variables / Predictor variables in a regression model are correlated. Which is not under the assumption of regression.
How do you know if your data is of Multicollinearity?
- i.e. coefficient. is very big.
- Least-squares are unbiased, and variances are large, this results in predicted values to be far away from the actual values.
- Above of which leads to overfitting and instability.
Solution:
We adding a penalty term that discourages large values of i.e. coefficient.
How do you know if add a penalty ?
- Essentially, we tweak around the value of λ to bring trades off between bias and variance.
- When the coefficients are (asymptotically unbiased)
- Increasing decreases the s. When the coeffcients are all zero (no variance) [ 係反比關係]
In the coding, we change param of mixture
.
- When
mixture = 0
, this is called Ridge-regression. - The s are shrunk.
- When
mixture = 1
, this is called Logistic lasso. - The s are shrunk by making the least important ones exactly zero.
Resource about Logistic regression
![notion image](https://www.notion.so/image/https%3A%2F%2Ffile.notion.so%2Ff%2Ff%2Fe1c5ba0e-562a-49b0-8505-ce5e38fc061b%2F5ca4c95d-7fd2-4da7-b17f-61586b655e82%2FUntitled.png%3Ftable%3Dblock%26id%3Df8b1577f-2b50-44a8-86e0-d0c47d14b055%26spaceId%3De1c5ba0e-562a-49b0-8505-ce5e38fc061b%26expirationTimestamp%3D1725789600000%26signature%3DWGKIvUbkzsDvcX_4JYpPdweIRYQ6NnOxOcqYUrTVygc?table=block&id=f8b1577f-2b50-44a8-86e0-d0c47d14b055&cache=v2)
Week 10 : Using Bayes theorem to infer parameters
- Working with text
- Web scraping
- Grammar of graphics
- Randomisation to assess structure perceived in plots
Bayes theorem / Bayes' ruleThe Beta-Binomial Conjugate Prior
Week 11 : Bayesian regression
MCMCCredible interval
FAQ
In week 2 lab, we learnt how the sample size of and experiment can effect the variability of CDF. So in T-dist, how does changing the sample size or DF affect the CDF?
Week 3
What is the difference between bootstrapping and ecdf
How is Modeling and ML different? Why do we need to know the know the underlying data distribution?
The purpose of both could be different.
ML : used for prediction tasks; the models are quite often black boxes and they literally do not care what the underlying data generation process / distribution(s) are.
Modeling : used for inference; It is very common to form a hypothesis about what the underlying data generation process is, then to collect some data and test the hypothesis that the model
Difference between Frequentist vs Bayesian
![notion image](https://www.notion.so/image/https%3A%2F%2Ffile.notion.so%2Ff%2Ff%2Fe1c5ba0e-562a-49b0-8505-ce5e38fc061b%2F618ba0fa-cfea-4e9d-a3f7-2303b23215b4%2FUntitled.png%3Ftable%3Dblock%26id%3D5498e048-6197-4473-beb7-fdadf0a63f53%26spaceId%3De1c5ba0e-562a-49b0-8505-ce5e38fc061b%26expirationTimestamp%3D1725789600000%26signature%3De6t86T7Dh6bcLpLPDlHdGd6jn_exkAiuiEl-fsLPoiA?table=block&id=5498e048-6197-4473-beb7-fdadf0a63f53&cache=v2)
- Author:Jason Siu
- URL:https://jason-siu.com/article/c11f51a4-c98b-4f44-bb58-d61c49af5453
- Copyright:All articles in this blog, except for special statements, adopt BY-NC-SA agreement. Please indicate the source!
Relate Posts