There are several ways to handle skewed data in regression analysis:
Log Transformation: This is a common method to handle right-skewed data. It can help to normalize the data and reduce the effect of outliers. In your case, you can apply log transformation to your Y variable (number of views per day). However, keep in mind that the interpretation of the coefficients will be in terms of percentage change rather than absolute change.
Square Root or Cube Root Transformation: These are other types of transformations that can help to reduce skewness. The square root transformation is particularly useful when dealing with counts, like your number of views per day.
Box-Cox Transformation: This is a more general form of transformation that includes log, square root, and reciprocal transformations as special cases. It finds the best power transformation of the data that reduces skewness to a target value, usually zero for normalization.
Non-linear Models: If the relationship between your predictors and the response variable is not linear, you might want to consider non-linear regression models or other machine learning models that can handle non-linearity.
Quantile Regression: This type of regression does not make any assumptions about the distribution of the error term, so it can be a good choice when dealing with skewed data. It predicts the median (or other quantiles) of the response variable, rather than the mean.
Robust Regression: This type of regression is less sensitive to outliers in the data. It uses a different loss function (like Huber loss or Tukey's bisquare loss), which gives less weight to outliers.
Tobit Model: This is a type of regression model that is used when the response variable is censored, i.e., it has a lower or upper limit. In your case, since the number of views per day cannot be less than zero, a Tobit model might be appropriate. However, Tobit models are more commonly used in econometrics than in machine learning.
In terms of dealing with outliers, it's important to understand why they are present in your data. If they are due to errors or anomalies, it might be appropriate to remove them. However, if they represent legitimate observations, they might contain valuable information and should not be removed. In this case, using a method that is robust to outliers, like robust regression or log transformation, might be a better approach.
Finally, when dealing with text data, you might want to consider using a method that can handle high-dimensional, sparse data, like regularized regression (Lasso or Ridge) or a tree-based method (Random Forest or Gradient Boosting). These methods can also handle non-linearity and interactions between predictors, which can be useful when dealing with text data.