We propose an improvement of the random spreading approach with polar codes for unsourced multiple access. Each user encodes its message by a polar code, and the coded bits are then spread using a random spreading sequence. The proposed approach divides the active users into different groups, and employs different power levels for each group in such a way that the average power constraint is satisfied. We formulate and solve an optimization problem to determine the number of groups, and the number of users and power level of each group. Extensive simulations show that the proposed approach outperforms the existing methods, especially when the number of active users is large.