You get a bonus - 1 coin for daily activity. Now you have 1 coin

Machine Learning / Data Science Interview Questions

Lecture



Overview

  • Contains a list of frequently asked interview questions based on machine learning and data analysis.
  • The main focus is on studying machine learning topics through these questions.
  • Crack the profiles of data scientists with these questions

Introduction

Careful! These questions may make you think TWICE!

Machine learning and data science are seen as the driving forces of the next industrial revolution happening in the world today. This also means that there are many interesting startups looking for data specialists. What could be a better start to your rapid career growth!

However, landing these roles is still not easy. Obviously, you need to be excited about the company's idea, team, and vision. Along the way you may also encounter several really difficult technical questions. The set of questions asked depends on what the startup does. Do they provide consulting? Do they build machine learning products? You should always find this out before starting your interview preparation.

To help you prepare for your next interview, I have put together a list of 40 plausible and difficult questions that you might encounter in an interview. If you can answer and understand this list, rest assured that the interview will not be easy for you.

Note: To answer these questions you need to have a specific practical understanding of machine learning and related statistical concepts. You can gain this know-how in our course «Introduction to Data Science»!

Or how about learning to crack data science interviews from someone who has conducted hundreds of them? Check out the course «Ace Data Science Interviews», taught by Kunal Jain and Pranav Dar.

Machine Learning Interview Questions

Q1. You are given a train dataset consisting of 1000 columns and 1 million rows. The dataset is based on a classification problem. Your manager has asked you to reduce the size of this data so that model computation time can be reduced. Your machine is short on memory. What would you do? (You may make practical assumptions.)

Answer: Processing a large dataset on a machine with limited memory is a challenging task, your interviewer will fully understand this. Below are the methods you can use to handle such a situation:

  1. Since we have less RAM, we should close all other applications on our computer, including the web browser, so that more memory can be used.
  2. We can randomly sample the dataset. This means we can create a smaller dataset, say having 1000 variables and 300,000 rows, and perform the computations.
  3. To reduce dimensionality, we can separate the numerical and categorical variables and remove correlated variables. For numerical variables, we will use correlation. For categorical variables, we will use the chi-square test.
  4. In addition, we can use PCA and pick the components that can explain the maximum variance in the dataset.
  5. A possible option is to use online learning algorithms such as Vowpal Wabbit (available in Python).
  6. Building a linear model using stochastic gradient descent is also useful.
  7. We can also apply our business understanding to estimate which predictors can affect the response variable. But this is an intuition-based approach, and failing to identify useful predictors may result in significant loss of information.

Note. Regarding items 4 and 5, be sure to read about online learning algorithms and stochastic gradient descent. These are advanced techniques.

Q2. Is rotation necessary in PCA? If yes, why? What happens if the components are not rotated?

Answer: Yes, rotation (orthogonal) is necessary because it maximizes the difference between the variance captured by the component. This makes the components easier to interpret. Don't forget that this is the motive for performing PCA, where we aim to select fewer components (than features) that can explain the maximum variance in the dataset. With rotation, the relative location of the components does not change, only the actual coordinates of the points change.

If we do not rotate the components, the effect of PCA will diminish, and we will have to select a greater number of components to explain the variance in the dataset.

Learn more: PCA

Q3. You are given a dataset. The dataset contains missing values which are spread within 1 standard deviation from the median. What percentage of the data would remain unaffected? Why?

Answer: This question has enough hints for you to start thinking! Since the data is spread around the median, let's assume it's a normal distribution. We know that in a normal distribution, ~68% of the data lies within 1 standard deviation from the mean (or mode, median), which leaves ~32% of the data unaffected. Therefore, the missing values will not affect ~32% of the data.

Q4. You are given a dataset for cancer detection. You have built a classification model and achieved an accuracy of 96%. Why shouldn't you be happy with your model's performance? What can you do about it?

Answer: If you have worked with enough datasets, you should conclude that cancer detection results in imbalanced data. In an imbalanced dataset, accuracy should not be used as a performance measure, because 96% (as stated) may correctly predict only the majority class, but our class of interest is the minority class (4%), i.e. people who actually were diagnosed with cancer. Therefore, to evaluate model performance, we should use Sensitivity (True Positive Rate), Specificity (True Negative Rate), F-measure to determine the class-wise performance of the classifier. If the performance of the minority class turns out to be poor, we can take the following steps:

  1. We can use undersampling, oversampling, or SMOTE to balance the data.
  2. We can change the prediction threshold value by performing probability calibration and finding the optimal threshold using an AUC-ROC curve.
  3. We can assign weights to classes so that the minority classes get a higher weight.
  4. We can also use anomaly detection.

Learn more: imbalanced classification

Q5 . Why is Naive Bayes so «naive»?

Answer: Naive Bayes is so «naive» because it assumes that all the features in a dataset are equally important and independent. As we know, these assumptions are rarely true in real-world scenarios.

Q6. Explain prior probability, likelihood, and marginal likelihood in the context of the Naive Bayes algorithm?

Answer: Prior probability is nothing but the proportion of the dependent (binary) variable in the dataset. It is the closest guess you can make about a class without any further information. For example: in a dataset, the dependent variable is binary (1 and 0). The proportion of 1 (spam) is 70%, and 0 (not spam) is 30%. Hence, we can estimate that any new email has a 70% chance of being classified as spam.

Likelihood is the probability of classifying a given observation as 1 in the presence of some other variable. For example: the probability that the word «FREE» is used in previous spam messages is the likelihood. Marginal likelihood is the probability that the word «FREE» is used in any message.

Q7. You are working with a time series dataset. Your manager has asked you to build a highly accurate model. You start with the decision tree algorithm, since you know that it works fairly well on all types of data. Later, you tried a time series regression model and got higher accuracy than the decision tree model. Can this happen? Why?

Answer: Time series data is known to have linearity. On the other hand, the decision tree algorithm is known to work best in detecting non-linear interactions. The reason the decision tree fails to provide robust predictions is that it cannot map the linear relationship as well as a regression model can. Thus, we've learned that a linear regression model can provide a robust prediction if the dataset satisfies its linearity assumptions.

Q8. You are assigned a new project which involves helping a food delivery company save money. The problem is that the company's delivery service cannot deliver food on time. As a result, their customers are unhappy. And to make them happy, they end up delivering the food for free. Which machine learning algorithm can save them?

Answer: You may already have started mentally flipping through the list of machine learning algorithms. But wait! Such questions are asked to test your machine learning fundamentals.

This is not a machine learning problem. This is a route optimization problem. A machine learning problem consists of three things:

  1. There is a pattern.
  2. You cannot solve it mathematically (even by writing exponential equations).
  3. You have data about it.

Always pay attention to these three factors to decide whether machine learning is a tool for solving a particular problem.

Q9. You have learned that your model suffers from low bias and high variance. Which algorithm should you use to tackle this problem? Why?

Answer: Low bias occurs when the model's predicted values are close to the actual values. In other words, the model becomes flexible enough to mimic the distribution of the training data. While this sounds like a great achievement, don't forget that a flexible model has no generalization capabilities. This means that when this model is tested on unseen data, it gives disappointing results.

In such situations, we can use bagging algorithms (e.g. random forest) to tackle high variance problems. Bagging algorithms divide the dataset into subsets made using repeated randomized sampling. Then these samples are used to build a set of models using a single learning algorithm. Later, the model predictions are combined using voting (classification) or averaging (regression).

In addition, to combat high variance, we can:

  1. Use a regularization method, in which higher model coefficients get penalized, which reduces model complexity.
  2. Use the top n features from the variable importance chart. It's possible that with all the variables in the dataset, the algorithm is having a hard time finding a meaningful signal.

Q10. You are given a dataset. The dataset contains many variables, some of which are highly correlated, and you know this. Your manager has asked you to run PCA. Would you remove correlated variables first? Why?

Answer: You may likely be tempted to say «no», but this would be wrong. Discarding correlated variables has a significant effect on PCA because in the presence of correlated variables, the variance explained by a particular component gets inflated.

For example: you have 3 variables in a dataset, 2 of which are correlated. If you run PCA on this dataset, the first principal component will show twice the variance than it would with uncorrelated variables. Also, adding correlated variables lets PCA put more emphasis on that variable, which is misleading.

Q11. Having spent several hours, you now want to build a high-accuracy model. As a result, you build 5 GBM models, thinking that a boosting algorithm would do wonders. Unfortunately, none of the models could perform better than the test benchmark. Finally, you decided to combine those models. Though ensemble models are known to have high accuracy, you got unlucky. Where did you miss?

Answer: As we know, ensemble learners are based on the idea of combining weak learners to create strong learners. But these learners provide superior results when the combined models are uncorrelated. Since we used 5 GBM models and did not get an improvement in accuracy, this suggests that the models are correlated. The problem with correlated models is that all the models provide the same information.

For example: if model 1 has classified User1122 as 1, there's a high chance that model 2 and model 3 would have done the same, even if its actual value is 0. Thus, an ensemble of learners is built on the premise of combining weak uncorrelated models to obtain better predictions.

Q12. How is kNN different from k-means clustering?

Answer: Don't be misled by the letter «k» in their names. You should know that the fundamental difference between these two algorithms is that k-means is unsupervised in nature, while kNN is supervised in nature. k-means is a clustering algorithm. kNN is a classification (or regression) algorithm.

The k-means algorithm splits the dataset into clusters such that the formed cluster is homogeneous, and the points within each cluster are close to one another. The algorithm tries to maintain sufficient separability between these clusters. Due to its unsupervised nature, the clusters have no labels.

The kNN algorithm tries to classify an unlabeled observation based on its k (can be any number) surrounding neighbors. It is also called a lazy learner because it requires minimal training of the model. Therefore, it does not use the training data to generalize to an unseen dataset.

Q13. How are true positive rate and recall related? Write the equation.

Answer: True Positive Rate = Recall. Yes, they are equal, given by the formula (TP / TP + FN).

Learn more: evaluation metrics

Q14. You have built a multiple regression model. Your model R² is not as good as you wanted. To improve it, you remove the intercept term, and your model R² becomes 0.8 from 0.3. Is this possible? How?

Answer: Yes, it is possible. We need to understand the significance of the intercept term in a regression model. The intercept term shows the model prediction without any independent variable, i.e. the mean prediction. The formula is R² = 1 - (y - y´)² / ∑(y - ymean)², where y´ is the predicted value.

When the intercept term is present, the R² value evaluates your model relative to the mean model. In the absence of the intercept term (ymean), the model cannot make such an evaluation, and with a large denominator ∑(y - y´)²/∑(y)², the value of the equation becomes smaller than the actual, which leads to an increase in R².

Q15. After analyzing the model, your manager has informed you that your regression model suffers from multicollinearity. How would you verify whether he's right? Can you build a better model without losing any information?

Answer: To check multicollinearity, we can create a correlation matrix to identify and remove variables having a correlation above 75% (the threshold selection is subjective). In addition, we can use VIF (variance inflation factor) computation to check for the presence of multicollinearity. A VIF value <= 4 suggests no multicollinearity, whereas a value >= 10 suggests severe multicollinearity. We can also use tolerance as an indicator of multicollinearity.

But removing correlated variables might lead to loss of information. To keep those variables, we can use penalized regression models such as ridge or lasso regression. Also, we can add some random noise to the correlated variable so that the variables become different from each other. But adding noise might affect the prediction accuracy, so this approach should be used with caution.

Learn more: regression

Q16. When is ridge regression preferable over lasso regression?

Answer: You can cite the ISLR authors Hastie and Tibshirani, who stated that in the presence of a few variables with medium/large effects, use lasso regression. In the presence of many variables with small/medium effects, use ridge regression.

Conceptually, we can say that lasso regression (L1) performs both variable selection and parameter shrinkage, whereas ridge regression only performs parameter shrinkage and eventually includes all the coefficients in the model. In the presence of correlated variables, ridge regression may be the preferred choice. Also, ridge regression works best in situations where the least squares estimates have higher variance. Therefore, it depends on our model's objective.

Learn more: ridge and lasso regression

Q17. An increase in the global average temperature led to a decrease in the number of pirates worldwide. Does this mean that a decrease in the number of pirates caused climate change?

Answer: Having read this question, you should have understood that this is a classic case of «causation and correlation». No, we cannot conclude that a decrease in the number of pirates caused climate change, because this phenomenon could be affected by other factors (hidden or confounding variables).

Therefore, there may be a correlation between global average temperature and the number of pirates, but based on this information we cannot say that pirates died out because of the increase in global average temperature.

Learn more: causation and correlation

Q18. How do you select important variables while working on a dataset? Explain your methods.

Answer: Below are the variable selection methods you can use:

  1. Remove correlated variables before selecting important variables
  2. Use linear regression and select variables based on p-values
  3. Use forward selection, backward selection, stepwise selection
  4. Use Random Forest, Xgboost, and the variable importance chart
  5. Use lasso regression
  6. Measure the information gain for the available set of features, and select the top n features accordingly.

Q19. What is the difference between covariance and correlation?

Answer: Correlation is the standardized form of covariance.

Covariances are difficult to compare. For example: if we calculate the covariances of salary ($) and age (years), we will get different covariances that cannot be compared due to unequal scales. To handle such a situation, we calculate correlation to get a value between -1 and 1, irrespective of their respective scale.

Q20. Is it possible to capture the correlation between a continuous and a categorical variable? If yes, how?

Answer: Yes, we can use the ANCOVA (analysis of covariance) technique to capture the association between continuous and categorical variables.

Q21. Both algorithms are tree-based, how is random forest different from a gradient boosting algorithm (GBM)?

Answer: The fundamental difference is that random forest uses a bagging technique to make predictions. GBM uses boosting techniques to make predictions.

In the bagging technique, a dataset is divided into n samples using randomized sampling. Then, using a single learning algorithm, a model is built on all the samples. Later, the resultant predictions are combined using voting or averaging. Bagging is done in parallel. In boosting, after the first round of predictions, the algorithm weighs misclassified predictions higher, so that they can be corrected in the following round. This sequential process of assigning higher weights to misclassified predictions continues until a stopping criterion is reached.

Random forest improves model accuracy by reducing variance (mainly). The trees grown are uncorrelated to maximize the decrease in variance. On the other hand, GBM improves accuracy by reducing both bias and variance in the model.

Learn more: tree-based modeling

Q22. Running a binary classification tree algorithm is the easy part. Do you know how a tree splits, i.e. how the tree decides which variable to split at the root node and subsequent nodes?

Answer: A classification tree makes a decision based on the Gini index and the entropy of the node. Simply put, the tree algorithm finds the best possible feature that can split the dataset into the purest possible child nodes.

The Gini index says that if we select two items from a population at random, then they must be of the same class, and the probability of this is 1 if the population is pure. We can calculate the Gini as follows:

  1. Calculate Gini for sub-nodes, using the formula for the sum of the square of the probability of success and failure (p^2 + q^2).
  2. Calculate Gini for the split, using the weighted Gini score for each node of that split.

Entropy is a measure of impurity, given (for a binary class) by:

Machine Learning  Data Science Interview Questions

Here, p and q are the probability of success and failure, respectively, in that node. Entropy is zero when the node is homogeneous. It is maximum when both classes are present in a node at 50% - 50%. A lower entropy is desirable.

Q23. You have built a random forest model with 10,000 trees. You were pleased to get a training error of 0.00. But the validation error is 34.23. What's happening? Haven't you trained your model perfectly?

Answer: The model is overfitted. A training error of 0.00 means that the classifier has mimicked the training data patterns to an extent that they are not available in unseen data. Hence, when this classifier was run on an unseen sample, it couldn't find those patterns and returned predictions with a higher error. In random forest, this happens when we use a larger number of trees than necessary. Hence, to avoid this situation, we should tune the number of trees using cross-validation.

Q24. You have a dataset to work with, with p (number of variables) > n (number of observations). Why is OLS a bad option to work with? Which techniques would be best to use? Why?

Answer: In such high-dimensional datasets, we cannot use classical regression techniques, since their assumptions tend to fail. When p > n, we can no longer calculate a unique least squares coefficient estimate, the variances become infinite, so OLS cannot be used at all.

To combat this situation, we can use penalized regression methods like lasso, LARS, ridge, which can shrink the coefficients to reduce variance. Precisely, ridge regression works best in situations where the least squares estimates have higher variance.

Among other methods are subset regression, stepwise regression.

Q25. What is a convex hull? (Hint: Think about SVM)

Answer: In the case of linearly separable data, the convex hull represents the outer boundaries of the two groups of data points. Once the convex hull is created, we get the maximum margin hyperplane (MMH) as the perpendicular bisector between the two convex hulls. MMH is the line which tries to create the greatest separation between the two groups.Machine Learning  Data Science Interview Questions

Q26. We know that one-hot encoding increases the dimensionality of a dataset. But label encoding doesn't. How?

Answer: Don't get confused by this. It's a simple question testing whether you know the difference between the two.

Using one-hot encoding, the dimensionality (a.k.a. features) of a dataset increases because it creates a new variable for each level present in categorical variables. For example: let's say we have a variable «color». The variable has 3 levels: red, blue, and green. One-hot encoding the «color» variable will generate three new variables as Color.Red, Color.Blue, and Color.Green containing values of 0 and 1.

With label encoding, the levels of a categorical variable get encoded as 0 and 1, so no new variable is created. Label encoding is mostly used for binary variables.

Q27. Which cross validation technique would you use for a time series dataset? Is it k-fold or LOOCV?

Answer: Neither.

In a time series problem, k-fold can be problematic because there could be some pattern in years 4 or 5 that is not present in year 3. Resampling the dataset would separate these trends, and we might end up validating on past years, which is incorrect. Instead, we can use a forward-chaining strategy with 5-fold as shown below:

  • fold 1: training [1], test [2]
  • fold 2: training [1 2], test [3]
  • fold 3: training [1 2 3], test [4]
  • fold 4: training [1 2 3 4], test [5]
  • fold 5: training [1 2 3 4 5], test [6]

where 1,2,3,4,5,6 represents the «year».

Q28. You are given a dataset consisting of variables having more than 30% missing values? Let's say, out of 50 variables, 8 variables have missing values higher than 30%. How will you deal with them?

Answer: We can deal with them using the following approaches:

  1. Assign a unique category to the missing values, who knows the missing values might decode some trend
  2. We can remove them outright.
  3. Or, we can sensibly check their distribution with the target variable, and if we find any pattern, we will keep those missing values and assign them a new category while removing others.

29. «People who bought this also bought…» recommendations on Amazon are the result of which algorithm?

Answer: The basic idea of such a recommendation engine comes from collaborative filtering.

Collaborative filtering algorithm considers «user behavior» for recommending items. They exploit the behavior of other users and items in terms of transaction history, ratings, selection, and purchase information. Other users' behavior and preferences over the items are used to recommend items to the new users. In this case, the features of the items are not known.

Learn more: recommender system

Q30. What do you understand by Type I and Type II errors?

Answer: Type I error is committed when the null hypothesis is true and we reject it, also known as a «false positive». Type II error is committed when the null hypothesis is false and we accept it, also known as a «false negative».

In the context of the confusion matrix, we can say that Type I error occurs when we classify a value as positive (1) when it is actually negative (0). Type II error occurs when we classify a value as negative (0) when it is actually positive (1).

Q31 . You are working on a classification problem. For validation purposes, you've randomly sampled the training dataset into training and validation sets. You are confident that your model will work incredibly well on unseen data since your validation accuracy is high. However, you get shocked after getting a low test accuracy. What went wrong?

Answer: In case of classification problems, we should always use stratified sampling instead of random sampling. Random sampling does not take into account the proportion of target classes. In contrast, stratified sampling helps to maintain the distribution of the target variable in the resultant distributed samples as well.

Q32. You are asked to evaluate a regression model based on R², adjusted R², and tolerance. What will be your criteria?

Answer: Tolerance (1 / VIF) is used as an indicator of multicollinearity. It is an indicator of the percent of variance in a predictor which cannot be accounted for by other predictors. Large values of tolerance are desirable.

We will consider adjusted R² instead of R² to evaluate model fit because R² increases irrespective of improvement in prediction accuracy as we add more variables. But adjusted R² would only increase if an additional variable improves the accuracy of the model, otherwise it stays unchanged. It is difficult to fix a general threshold value for adjusted R² because it varies from dataset to dataset. For example: a gene mutation dataset might result in a lower adjusted R² and still provide fairly good predictions, as compared to a stock market data where a lower adjusted R² implies that the model is not good.

Q33. In k-means or kNN, we use Euclidean distance to calculate the distance between nearest neighbors. Why not Manhattan distance?

Answer: We don't use Manhattan distance because it calculates distance only horizontally or vertically. It has dimension restrictions. On the other hand, the Euclidean metric can be used in any space to calculate distance. Since the data points can be present in any dimension, the Euclidean distance is a more viable option.

Example: think of a chessboard, the movement made by a bishop or rook is calculated by the Manhattan distance because of their respective vertical and horizontal movements.

Q34. Explain machine learning to me like a five-year-old.

Answer: It's simple. It's just like how babies learn to walk. Every time they fall down, they learn (unconsciously) that their legs should be straight and not bent. The next time they fall down, they feel the pain. They cry. But they learn «not to stand like that again». In order to avoid the pain, they try harder. To succeed, they even seek support from the door, wall, or anything nearby that helps them stand firm.

This is how a machine works and develops intuition from its environment.

Note: The interview is only trying to test whether you're able to explain complex concepts in simple terms.

Q35. I know that a linear regression model is generally evaluated using adjusted R² or F-value. How would you evaluate a logistic regression model?

Answer: We can use the following methods:

  1. Since logistic regression is used to predict probabilities, we can use the AUC-ROC curve along with the confusion matrix to determine its performance.
  2. Also, the analogous metric of adjusted R² in logistic regression is AIC. AIC is the measure of fit which penalizes the model on the basis of the number of model coefficients. Therefore, we always prefer a model with a minimum AIC value.
  3. Null deviance indicates the response predicted by a model with nothing but an intercept. Lower the value, better the model. Residual deviance indicates the response predicted by a model on adding independent variables. Lower the value, better the model.

Learn more: logistic regression

Q36. Given a long list of machine learning algorithms with a given dataset, how do you decide which one to use?

Answer: You should say that the choice of machine learning algorithm depends solely on the type of data. If you are given a dataset which exhibits linearity, then linear regression would be the best algorithm to use. If you are given data on images, audio, then a neural network would help you build a robust model.

If the data consists of nonlinear interactions, then a boosting or bagging algorithm should be chosen. If the business requirement is to build a model that can be deployed, then we would use regression or a decision tree model (simple to interpret and explain) instead of black-box algorithms like SVM, GBM, etc.

In short, there is no one master algorithm for all situations. We must be scrupulous enough to understand which algorithm to use.

Q37. Do you think that treating a categorical variable as a continuous variable would result in a better predictive model?

Answer: For more accurate predictions, a categorical variable can be considered as a continuous variable only when the variable is ordinal in nature.

Q38. When does regularization become necessary in machine learning?

Answer: Regularization becomes necessary when the model begins to overfit / underfit. This technique introduces a cost term for bringing in more features with the objective function. Hence, it tries to push the coefficients for many variables to zero and hence reduce the cost term. This helps to reduce model complexity so that the model can become better at predicting (generalizing).

Q39. What do you understand by the bias-variance trade-off?

Answer: The error emerging from any model can be broken down into three components mathematically. Below are these components:

Machine Learning  Data Science Interview Questions

Bias error is useful to quantify how much on average are the predicted values different from the actual value. A high bias error means we have an underperforming model which keeps missing important trends. Variance on the other side quantifies how are the predictions made on the same observation different from each other. A high variance model will overfit on your training population and perform badly on any observation beyond training.

Q40. OLS is to linear regression. Maximum likelihood is to logistic regression. Explain the statement.

Answer: OLS and maximum likelihood are the methods used by the respective regression methods to approximate the unknown parameter (coefficient) value. In simple words,

Ordinary least square(OLS) is a method used in linear regression which approximates the parameters resulting in minimum distance between the actual and predicted values. Maximum Likelihood helps in choosing the parameter values which maximizes the probability that the parameters are most likely to produce the observed data.

End Notes

Maybe you were able to answer all the questions, but the real value is in understanding them and generalizing your knowledge to similar questions. If you struggled with these questions, no worries, now is the time to learn rather than get disheartened. You should focus on studying these topics diligently right now.

These questions are designed to give you a broad idea of the type of questions asked by machine learning startups. I'm sure these questions will leave you curious enough to go do a deeper study around the topic. If you plan to do that, it's a great sign.

Did you enjoy reading this article? Have you appeared in any interviews for a data science profile at a startup recently? Share your experience in the comments below. I would love to know about your experience.

Comments

To leave a comment

If you have any suggestion, idea, thanks or comment, feel free to write. We really value feedback and are glad to hear your opinion.
To reply

Lectures and tutorial on "Probability theory. Mathematical Statistics and Stochastic Analysis"

Terms: Probability theory. Mathematical Statistics and Stochastic Analysis